CentOS 7 常用命令
基于CentOS 7最小化安装,环境为Win10 VirtualBox
文中大部分内容参考自TLCL
文件相关操作
熟记通配符和字符类,灵活处理文件操作
通配符 | 含义 |
---|---|
* | 匹配任意多个字符(包括零个或一个) |
? | 匹配任意一个字符(不包括零个) |
[characters] | 匹配任意一个属于字符集中的字符 |
[!characters] | 匹配任意一个不属于字符集中的字符 |
[[:class:]] | 匹配任意一个属于指定字符类中的字符 |
字符类 | 含义 |
---|---|
[:alnum:] | 匹配任意一个字母或数字 |
[:alpha:] | 匹配任意一个字母 |
[:digit:] | 匹配任意一个数字 |
[:lower:] | 匹配任意一个小写字母 |
[:upper:] | 匹配任意一个大写字母 |
pwd
打印当前工作目录
cd
更改当前工作目录
- 使用相对路径
.
表示当前目录..
表示上级目录,通常情况下.
都可以省略 - 使用绝对路径,例如
/usr/bin
ls
列出目录内容
-
ls -a /
列出根目录内容,包括圆点开头的隐藏文件 -
ls / /boot
同时列出根目录内容和/boot目录内容 -
ls -l
以长格式列出当前工作目录内容
下面是ls -l /root
输出内容
各字段意思
字段值 | 含义 |
---|---|
-rw——- | 对于文件的访问权限。第一个字符指明文件类型。在不同类型之间,开头的“-”说明是一个普通文件,“d”表明是一个目录。其后三个字符是文件所有者的访问权限,再其后的三个字符是文件所属组中成员的访问权限,最后三个字符是其他所有人的访问权限。 |
1 | 文件的硬链接数目。 |
root | 文件所有者的用户名。 |
root | 文件所属用户组的名字。 |
1406 | 以字节数表示的文件大小。 |
May 24 12:38 | 上次修改文件的时间和日期。 |
anaconda-ls.cfg | 文件名。 |
file
确定文件类型
less
浏览文件,支持翻页
cp
复制文件和目录
-
cp aa.cfg bb
复制文件aa.cfg到bb目录下 -
cp aa.cfg bb.cfg
复制文件aa.cfg到当前目录下,并重命名为bb.cfg -
cp -r cc bb
递归地复制cc目录及目录中的内容到bb目录 -
cp -r -u ee bb
仅从ee目录下复制 bb目录中不存在的文件,或者是ee目录下文件内容新于bb目录中已经存在的文件
mv
移动/重命名文件和目录,可使用与cp
类似的-u
选项
-
mv aa bb
如果bb目录存在,则意为将aa目录移到bb目录;如果不存在bb目录,则意为将aa目录更名为bb
mkdir
创建一个新目录
-
mkdir dir1
在当前目录下创建dir1目录 -
mkdir /root/aa bb cc
在/root目录下创建aa bb cc 三个目录
rm
删除文件和目录,默认会提示是否确定删除, 可使用-f
不提示直接删除,-r
递归删除目录
ln
创建硬链接/软连接。硬链接只能指向同一个文件系统下的文件;
-
ln aa.cfg aa-hard
创建aa.cfg文件的一个硬链接aa-hard到当前目录下 -
ln -s aa.cfg aa-sym
创建aa.cfg文件的一个符号链接aa-sym到当前目录下 -
ln -s ../aa bb/aa-sym
假设上级目录的目录内容包含aa目录和bb目录,现在想创建aa目录的符号链接aa-sym到bb目录下,那么aa目录相对于aa-sym来说是处于上级目录下,所以这里是../aa
命令解释相关
type
显示命令的类型
-
type type
显示type is a shell builtins(type是shell内部命令) -
type ls
显示ls is aliased to ‘ls –color=tty’(ls别名为‘ls –color=tty’,所以显示有颜色) -
type cd
显示cp is /bin/cp(cp为/bin/cp可执行程序)
which
显示一个可执行程序的位置 help
得到 shell 内建命令的帮助文档 man
显示程序手册页,包含一个标题、命令语法的纲要、命令用途的说明、 以及每个命令选项的列表和说明。例如man ls
alias
创建自己的命令。组合多个命令并起一个别名,例如alias foo='cd /usr; ls; cd -'
键入foo命令,依次执行cd /usr、ls、cd -,使用unalias
删除别名。
I/O重定向
cat
读取一个或多个文件,然后复制它们到标准输出流。 sort
排序过滤器 uniq
报道或忽略重复行 wc
打印文件中换行符,字,和字节个数 grep
打印匹配行,配合正则表达式实现强大搜索功能 head
/tail
打印文件开头部分/ 结尾部分 tee
从Stdin读取数据,并输出到Stdout和文件
权限
属性 | 文件 | 目录 |
---|---|---|
r | 允许打开并读取文件内容。 | 允许列出目录中的内容,前提是目录必须设置了可执行属性(x)。 |
w | 允许写入文件内容或截断文件。但是不允许对文件进行重命名或删除,重命名或删除是由目录的属性决定的。 | 允许在目录下新建、删除或重命名文件,前提是目录必须设置了可执行属性(x)。 |
x | 允许将文件作为程序来执行,使用脚本语言编写的程序必须设置为可读才能被执行。 | 允许进入目录,例如:cd directory 。 |
id
查看用户ID passwd
更改用户密码(超级管理员可以更改其他用户密码) chmod
更改文件模式(权限)。注意只有文件的所有者或者超级用户才 能更改文件或目录的模式。可以使用八进制表示法或者符号表示法。例:
-
chmod 600 foo.txt
将foo.txt文件权限改为600,即110-000-000,对应r w - - - - - - -。 -
chmod u+x,go=rw foo.txt
给文件拥有者添加执行权限,并将组和其他人权限设置为读和执行。使用 + - = 来执行添加、删除、设定权限。
umask
设置默认权限 su
以其它用户身份和组ID运行一个shell sudo
以另一个用户身份执行命令 chown
更改文件所有者和用户组
进程
ps
打印当前线程快照 top
显示任务(windows下的任务管理器) jobs
列出活跃进程 bg
把一个任务放到后台执行 fg
把一个任务放到前台运行,可以使用Ctrl-Z暂停当前前台运行的任务 kill
给一个进程发送信号,列出常用信号(数字为信号编号)例子:kill -1 %1
或者kill -SIGHUP 1234
命令都是挂起一个进程,其中进程的PID为1234,jobspec为%1
- 1 HUP 挂起
- 2 INT 中断
- 9 KILL 杀死,立即执行,进程无法执行“清理工作”或者“保存工作”
- 15 TERM 终止,
kill
默认执行信号。 - 18 CONT 继续
- 19 STOP 停止
killall
杀死指定名字的进程 shutdown
关机或者重启系统,shundown -h now
立即关机 shutdown -r now
重启
归档与备份
gzip
压缩文件 gunzip
展开文件,若存在同名文件,将会覆盖 tar
创建归档文件
-
tar cf foo.tar foo
将foo
目录归档为foo.tar
文件,其中c
模式表示为文件或者目录创建归档文件,f
表示指定归档文件名 -
tar xf ../foo.tar
抽取父目录的foo.tar
归档文件内容至当前目录,值得注意的是,若所抽取的归档文件中包含多级目录,收取后将会在当前目录创建相同的目录
rsync
与远端网络服务器中的文件备份保持同步
查看网络接口卡信息:
ifconfig
或 ip addr
和ip link
可能会出现 ifconfig command not found
,因为该命令已经过时,默认情况下CentOS 7不存在包含该命令的包。解决:
查找哪个包包含该命令:yum provides ifconfig
安装net-tools
包:yum install net-tools
防火墙
查看防火墙状态:firewall-cmd --state
开启防火墙:systemctl start firewalld.service
关闭防火墙:systemctl stop firewalld.service
禁止开机启动:systemctl disable firewalld.service
更改分辨率
打开文件夹:cd /boot/grub2/
修改grub.cfg文件:vi grub.cfg
找到该片段的上下文处,在最后一行加上vga=ask
,保存退出文件,重启reboot
,每次启动都会列出分辨率表,有每个分辨率对应的代码,输入即启动。如果不想每次启动都输入,可以改为vga=0x343
,”0x”16进制,”343”是800*600 32位色分辨率的代码,自行选择。