Linux基本命令总结

1.修改命令提示符

环境变量:PS1:

\u: 当前用户名

\h: 主机名

\H: FQDN,完整格式的主机名

\W:当前工作目录的基名

\w: 当前工作目录绝对路径

\$: 提示符

\t:显示时间

查看命令:echo $PS1

修改命令:PS1='[\u\h \w]\$'


2.更改目录:

cd: change directory

cd ~切换到当前用户的家目录 

cd ~USERNAME 切换到指定用户的家目录 

cd -: 在前一个目录和当前目录之间反复切换

两个独特的路径:

.: 当前目录

..:上一级目录


3.命令历史:

history N: 显示最近的N条,包括当前命令自身;

history -c: 清空命令历史

history -d offset: 删除指定的偏移处的命令条目

history -a [/path/to/some_history_file]: 将当前会话中的命令历史写入指定文件


bash调用命令历史列表中的命令:

!#: 执行命令历史中的第#条命令

!!: 执行上一条命令

!string: 执行命令历史中最近一次以string开头的命令;


!$: 调用上一条命令的最后一个参数

ESC, .:功能同上


改变history记录方式的环境变量:

HISTCONTROL:

ignoredups: 忽略重复的命令,连续的相同命令才会为重复

ignorespace: 忽略以空白字符打头的命令

ignoreboth: 以上二者同行生效;


4.关机命令:

shutdown -h 关机

-r 重启

-c 取消关机操作


时间格式

now

+m

hh:mm

reboot: 重启

halt: 关机

poweroff: 关机


5.时间设置:

date: 日期和时间

date [options] [+FORMAT]

%s: 时间戳计时法,从Unix元年(1970-01-01 00:00:00)到此刻所经过的秒数

%F, %D

%T

%Y

%m

%d

%H

%M

%S

设置时间:

date [MMDDhhmm[[CC]YY][.ss]]

Linux有两个时钟:系统时钟和硬件时钟

硬件时钟:

系统时钟:Linux

hwclock(管理员权限才能查看)

-s: 以硬件为准

-w:以系统为准


6.目录管理

mkdir: make directory

-p: 当指定的目标目录的父目录不存在时,则先创建之

-v: 显示详细信息


rmdir: remove directory

-p: 删除单传目录路径中各目录


bash特性之一:命令行展开

~: 用户家目录

~USERNAME: 指定用户的家目录


{}: 

/tmp/{x,y}

/tmp/x, /tmp/y


/tmp/{x,y}/z

/tmp/x/z, /tmp/y/z


7.查看命令

ls命令:list简写

ls [option] [file]

常用选项:

-l: long,长格式显示文件的详细属性信息

drwxr-xr-x.  2 root root  4096 Feb 12 09:55 account

左起第一位:文件类型

后面的9位:权限,常称为mode

r: 读,Read

w: 写, Write

x:执行, eXcute

.: 表示文件有隐藏属性

lsattr命令可以查看

数字:此文件被硬链接的次数

属主:owner, 文件的拥有者

属组:group, 文件的所属的组

4096: 文件大小,单位是字节

-h: human-readable,自动做单位换算

文件最近一次被修改的时间

文件名

-a: 显示所有文件

-d: 通常和-l一起使用,用于仅显示目录自身属性

-r: reverse, 逆序显示

-R: recursive, 递归显示,显示子目录中的内容


stat: 显示文件的元数据

时间戳信息:

access(atime):表示文件最后一次被访问的时间

modify(mtime):表示文件内容最后一次被修改的时间

change(ctime):表示文件元数据最后一次被修改的时间

如果mtime改变,ctime一定跟着改变。

ctime改变,mtime不一定变。


touch:改变文件的atime和mtime,ctime是由文件系统自己维护的。

touch [option]... FILE

如果FILE不存在,默认会创建一个空文件


-a: 仅改变atime

-m: 仅改变mtime

-c: 不创建空文件

-t [[CC]YY]MMDDhhmm[.ss]


cat: 连接并显示文本文件内容

     文本文件就是数据流:stream 流式化

-E:显示行结束符

    对于Linux而言,换行符就是$,而对于windows而言换行符是两个字符:换行符$+回车符,所以Linux的文本文件在windows中用txt打开的时候是一排没有换行,但是Linux可以识别windows的换行符。

-n: 显示行号


tac: 逆序显示文件内容


7.5 echo命令

echo [-neE] [arg ...]

\n

\t

\v垂直制表符

\033[

单个数字:控制字体

3#:#是一个数字,3表示控制其前景色

4#:#是一个数字,4表示控制其背景色


组合使用,彼此间使用;分隔

eg:

背景是蓝色的,前景是绿色的:

echo -e '\033[32;44mhello\033[0m'

粗体:

echo -e '\033[32;1mhello\033[0m'

m:是固定格式

\033[0m:控制符的功能至此结束


7.6 其他显示命令:more,less,head,tail,


8.别名:alias

alias ALIAS=COMMAND

别名与命令同名时:

绝对路径

\COMMAND

******生效范围:命令行定义的别名,其生效范围为当前会话;******

unalias [ALIAS]

-a: 撤消所有别名


9.文件管理类命令:

复制:cp

移动:mv

删除:rm


cp: 

cp SRC DEST

SRC是文件:

如果DEST不存在:复制SRC为DEST

如果DEST存在:

如果DEST是文件:则覆盖

如果DEST是目录:将SRC复制进DEST中,并保持原名

cp SRC... DEST

如果SRC不止一个,则DEST必须得是目录;

cp SRC DEST

SRC是目录:

可使用-r选项:

cp -r SRC... DEST

-P: 复制符号链接文件本身,而非其指向的目标文件

--preserve[=ATTR_LIST]

mode,ownership,timestamps

mode: 权限

owership: 属主、属组

timestamps: 时间戳

-p: 相当于 --preserve=mode,ownership,timestamps

-a:相当于 -dR --preserve=all

归档:archive

-i: interactive

-f: force

mv命令:

mv SRC... DEST

-i: interactive

rm命令:

-i:交互

-f:强制删除

删除根:

--no-preserve-root


10.文本处理类命令:

wc: Word Count

-l: 仅显示行数

-w:

-c:


cut: 

-d: 指定分隔符

-f: 指定要显示的字段

m: 第m列

m,n: 第m和n列

m-n: 第m到第n列


sort: 

sort [option] FILE...

-f: 忽略字符大小写

-t: 指定分隔符

-k: 指定分隔之后要进行排序比较的字段

-n: 以数值大小进行排序

-u: 排序后去重


uniq: 去重(只有连续两个相同的行才算是重复行)

-d:仅显示重复的行

-u:仅显示未曾重复的行

-c: 统计行出现的次数


11.其他:

ntp: Network Time Protocol(RedHat7之后不再使用)

通过网络同步系统时间

ntpdate SERVER


who: 登录至当前系统的所有用户

whoami: 当前终端上登录的用户


which: 显示指定命令的完整路径

--skip-alias: 路过命令别名


文件内容的类型:

file /path/to/somefile

命令调用缓存:

hash

-d: 清除指定名称的缓存内容

-r: 清空缓存


你可能感兴趣的:(linux,命令总结)