【系统命令】Linux centos7.9 常用命令大全及基础知识
通配符和正则表达式
通配符代表bash操作接口的一个功能,但是正则表达式是一种字符串处理的表达方式。[tips] 通配符 * 代表【0个到无穷个】任意字符 ? 代表【一定有一个】任意字符 []【一定有一个在括号内】的字符(非任意字符)。例如【abcd】代表【一定有一个字符,可能是a、b、c、d这四个中的任何一个】。(和正则表达式中的含义相同) [-] 代表【在编码顺序内的所有字符】,例如[0-9]代表一定有一个字符,这个字符是0和9之间的所有数字中的任何一个。(和正则表达式中的含义相同) [^] 代表【反向选择】,例如[^abc]表示一定有一个字符,只要是非a、b、c的其他字符就接受的意思。(和正则表达式中的含义相同) 正则表达式 见《正则表达式.md.md》 正则表达式的特殊字符与一般在命令行输入命令的通配符并不相通,例如,在通配符中*表示【0到无穷多个字符】的意思,而正则表达式中,*表示*前面的字符【重复0到无穷多次】的意思。 例 不支持正则表达式的ls命令中,若我们使用ls -l *,代表列出任意文件名的文件,ls -l a*表示列出以a开头的任何文件名的文件。但在正则表达式中,我们要找到含有以a开头的文件,要使用ls | grep '^a.*' [tips]
命令行(bash)中的快捷键
ctrl u 删除光标前面的所有内容 ctrl k删除光标及光标后面的所有内容 ctrl a 光标移动到命令行的开头 ctrl e光标移动到命令行的结尾
linux中的路径简写
. 当前目录 .. 上一层目录 - 上一次的工作路径 ~ 当前用户的家目录 ~account 代表account这个使用者的家目录(account是个账号名称)
linux中的特殊字符(p345)
# \ | ; $ & ! / >、>> <、<< '' "" `` () {}
./可执行文件
绝对路径/可执行文件
bash可执行文件
sh可执行文件
文件与目录的增删改查
cd
cd ~dmtsai #进入dmtsai这个使用者的家目录,亦即/home/dmtsai cd ~ #表示回到当前用户的家目录 cd #不加任何路径,也表示回到当前用户的家目录
mkdir
建立新目录 mkdir [OPTION]... DIRECTORY... 可以新建多个目录 -m 设置目录的权限,直接设置,不适用默认权限(umask) -p 递归建立目录,如果目录存在则不建立,不会报目录已经存在的错误 [root@centos79 ~]# mkdir -m 711 test1 #新建目录,且目录权限为711 [root@centos79 ~]# ll total 8 -rw-------. 1 root root 1669 Nov 29 17:02 anaconda-ks.cfg drwxr-xr-x. 2 root root 22 Dec 1 10:24 bin -rw-r--r--. 1 root root 1896 Nov 29 17:16 initial-setup-ks.cfg drwx--x--x. 2 root root 6 Dec 3 04:25 test1 -rw-r--r--. 1 root root 0 Dec 3 04:01 testtouch
touch
touch [OPTION]... FILE... 修改文件时间或创建文件 -a 仅自定义access time -c 仅修改文件的时间,若该文件不存在则不建立新文件 -m 仅修改mtime -d 后面可以接欲自定义的日期而不是用目前的日期,也可以使用--date=”日期或时间“,修改文件的atime和mtime -t 后面可以接欲自定义的时间而不是用目前的时间,格式为[YYYYMMDDhhmm],修改文件的atime和mtime touch testtouch #在默认状态下,如果touch后面接已存在的文件名,则该文件的三个时间(atime、ctime、mtime)都会更新为目前的时间。 #若该文件不存在,则会建立一个新的空文件 复制文件时,即使复制文件的所有属性,也没办法复制ctime这个属性。[tips]
knowledge:atime、ctime、mtime 修改时间【modification time, mtime】 当该文件的【内容数据】变更时,就会更新这个时间,内容数据指的是文件的内容,而不是文件的属性或权限 状态时间【status time, ctime】 当该文件的【状态】改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新这个时间 读取时【access time, atime】 当【该文件的内容被读取】时,就会更新这个读取时间,举例来说,我们使用cat去读取/etc/man_db.conf,就会更新该文件的atime 文件的时间很重要,因为,如果文件的时间错误的话,可能会造成某些程序无法顺利运行。比如安装系统时系统时区不正确,那么系统文件也会和系统时间保持一致,将系统时区改为正确时区后,这些系统文件的时间就是错误的了。如果发现一个文件来自未来,可以使用touch将该文件变为现在时刻。
rm
-f force,强制删除,忽略不存在的文件,不会出现瞥吉信息 -r 递归删除,用于删除目录 rm -rf test* 强制删除test开头的文件或目录 删除-开头的文件或目录[tips]: 因为-是命令的选项参数,所以在删除-开头的文件或目录时系统会误判,所以要是加上文件的路径,如:rm ./-aaa- 表示删除当前目录下的-aaa-文件,或rm 文件的绝对路径。此方法同样适用于任何touch、cp、mv...等命令。或者使用rm -- -aaa-来删除-aaa-文件。
rmdir
删除空目录,若目录不为空则无法删除 rmdir [OPTION]... DIRECTORY... -p 递归删除 rmdir -p test1/test2/test3/test4 #使用-p选项,立刻可将test1/test2/test3/test4 多层目录一次性删掉,但是rmdir仅能删除空目录
cp
1.复制文件、目录 2.建立链接文件(快捷方式) 3.比较两个文件的新旧而子以更新 Usage: cp [OPTION]... [-T] SOURCE DEST or: cp [OPTION]... SOURCE... DIRECTORY 源文件有多个时,目标文件一定是目录 or: cp [OPTION]...-t DIRECTORY SOURCE... Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. 常见参数: -p 连同文件的属性(权限、所属用户、时间) 一起复制过去,而非使用默议属性(常用于备份〉 -r 递归复制,用于目录的复制 -d 若源文件为链接文件的属性,则复制链接文件属性,而非文件本身 -f 强制,目标文件存在时使用此参数强制复制 -i 若目标文件已经存在时,在覆盖时会先询问操作是否要继续,y为确定,n为取消 -1 进行硬链接 (hard link),而非复制文件本身 -s 进行符号链接 (symbolic link),亦即创建快捷方式 -a 相当于-dr --preserver=a11,复制源文件的所有属性,使源文件和目标文件一模一样 --preserver=a11 除了复制-p的权限相关属性外,SELinux的属性,Links、xattr等属性也一同复制过去 -u 目标文件比源文件旧或目标文件不存在时才复制,常用于备份 在默认条件中,cp的源文件与目标文件的权限是不同的,目标文件的拥有者和所属组通常是使用cp命令的人。
knowledge: 符号链接和硬链接
mv
1.移动文件、目录 2.重命名
ls
Usage: ls [OPTION]... [FILE]... 可以接多个文件或目录,同时列出这些文件或目录 常见参数 -1 列出目录和文件的详细信息 [root@centos79 ~]# 1s -1 bak/ total 24 drwxr-xr-x 2 root root 18 Nov 27 17:48 bak1 -rwxr--r-- 1 root root 70 Oct 29 17:50 cpujiance.sh -rw-r--r-- 1 root root 4384 Oct 29 17:50 cpu.txt -rW-r--r-- 1 root root 1638 Oct 29 17:50 freel.txt -rw------- 1 root root 10 oct 29 17:51 nohup .out -rw-r--r-- 1 root root 11 Oct 29 17:51 sleep.sh -d 仅列出目录本身,而不是列出目录内的文件 1s 目录:不会列出目录的数据,而是会列出目录内的文件的数据, 1s -d 目录:会列出目录本身的数据,而不是列出目录内的文件的数据 [root@centos79 ~]# 1s-1d bak/ drwxr-xr-x 3 root root 103 Nov 27 17:47 bak/ -R 连同子目录内容一起列出来 [root@centos79 ~]# 1s -lR bak/ bak/: total 24 drwxr-xr-x 3 root root 30 Nov 27 17:55 bak1 -rwxr--r-- 1 root root 70 Oct 29 17:50 cpujiance.sh -rw-r--r-- 1 root root 4384 Oct 29 17:50 cpu.txt -rw-r--r-- 1 root root 1638 Oct 29 17:50 free1.txt -rw------- 1 root root 10 Oct 29 17:51 nohup.out -rw-r--r-- 1 root root 11 Oct 29 17:51 sleep.sh bak/bak1: total 0 -rw-r--r-- 1 root root 0 Nov 27 17:48 bak2 drwxr-xr-x 2 root root 18 Nov 27 17:55 bak3 bak/bak1/bak3: total 0 -rw-r--r-- 1 root root 0 Nov 27 17:55 bak4 -A 显示所有文件,包括隐藏文件(.开头),但不包括.和..这两个目录 -F 在文件或目录名字的结尾对其进行标记,*表示可执行文件,/表示目录,=表示socket文件,|表示FIFO文件。 1s -F | grep *$可以用来查找此目录中的可执行文件 -h 特文件容量以人类易读的方式(KB、GB)列出来,默认是以byte显示文件大小 --b1ock-size=G 以G显示文件大小 -i 列出inode号码 -n 用UID和GID品示来代替所属用户和所属群组 -S 以文件容量大小进行排序显示,默认是以文件名进行排序显示 -r 排序时翻转排序 -t 以时间排序显示,默认是以文件名进行排序显示 --color=never 不要依据文件特性给子颜色显示 --color=always 显示颜色 --color=auto 让系统自行依据设置来判断是否给予颜色显示 --fu11-time 以完整时间模式(包含年月日时分〉显示 --time=[atime,ctime] 输出access时间 (atime)或改变权限属性时间(ctime),而非内容修改时间(modification time)(默认显示的是内容修改时间mtime)
pwd
打印当前所在的目录(print working directory) pwd -P 显示出真正的路径,而非使用链接(link)路径
hostnamectl
hostnamect1 set-hostname NAME 设置主机-名,退出重新登陆后終端会显示设置的主机名 hostnamectl --help 查看更多用法
hostname
类似于hostnamectl hostname -help查看更多用法
免责声明:本站所发布信息部分整理自互联网具有公开性、共享性的信息,发布此信息旨在传播更多信息之目的,不代表本网站立场,转载请联系原作者并注明出处,如果侵犯了您的权益请与我们联系;本站提供的一切软件、教程和内容信息仅限用于学习和研究目的,无法保证有效性,真实性需自行辨别,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容;如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务,我们非常重视版权问题,如有侵权请邮件与我们联系处理,我们将在24小时内更正、删除。E-mail:admin@bsfc.net