常用命令总结
常用系统工作命令
1.echo: 打印变量或字符串
echo (字符串 | 变量)
2.reboot: 重启系统
由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用 root 管理员来重启
reboot
3.ps : 用于查看系统中的进程状态
ps (选项)
-a:显示所有进程(包括其他用户的进程)
-u:用户以及其他详细信息
-x:显示没有控制终端的进程
进程状态:
R(运行): 进程正在运行或在运行队列中等待
S(中断): 进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态
D(不可中断): 进程不响应系统异步信号,即便用 kill 命令也不能将其中断
Z(僵死): 进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数 后将进程释放
4.top: 用于动态地监视进程活动与系统负载等信息
top
5.pidof : 用于查询某个指定服务进程的 PID 值
pidof (服务名称)
eg: pidof sshd
6.killall : 用于终止某个指定名称的服务所对应的全部进程
killall (服务名称)
eg: killall httpd
系统状态检测命令
1.ifconfig : 用于获取网卡配置与网络状态等信息
ifconfig
2.uname : 用于查看系统内核与系统版本等信息
uname (-a)
eg: uname -a
3.free : 用于显示当前系统中内存的使用量信息
free (-h)
eg: free -h
4.who : 用于查看当前登入主机的用户终端信息
who
5.last : 用于查看所有系统的登录记录
last
工作目录切换命令
1.pwd : 用于显示用户当前所处的工作目录
pwd
2.cd : 用于切换工作路径
cd (目录名称)
cd - : 返回到上一次所处的目录
cd … : 进入上级目录
cd ~ : 进入家目录
cd ~(用户名) : 进入其他用户家目录
3.ls : 用于显示目录中的文件信息
ls (选项) (文件)
-a : 看到全部文件(包括隐藏文件)
-l : 可以查看文件的属性、大小等详细信息
文本文件编辑命令
1.cat : 用于查看纯文本文件(内容较少的)
cat (选项) (文件)
-n : 用于显示行号
2.more: 用于查看纯文本文件(内容较多的)
more (选项) (文件)
3.head: 用于查看纯文本文档的前 N 行
head (选项) (文件)
eg:
查看文本的前20行内容
head -n 20 test.txt
4.tail: 用于查看纯文本文档的后N 行
tail (选项) (文件)
eg:
查看文本的后20行内容
tail -n 20 test.txt
5.tr: 用于替换文本文件中的字符
先使用 cat 命令读取待处理的文本,然后通过管道符把这些文本内容传递给 tr 命令进行替换操作
tr (原始字符) (目标字符)
eg:
把某个文本内容中的hello全部替换为world
cat test.txt | tr hello world
6.wc: 用于统计指定文本的行数、字数、字节数
wc (选项) 文本
-l : 只显示行数
-w : 只显示单词数
-c : 只显示字节数
eg: 统计当前系统中有多少个用户
wc -l /etc/passwd
7.stat: 用于查看文件的具体存储信息和时间等信息
stat 文件名称
8.cut: 用于按“列”提取文本字符
cut (选项) 文本
-d(间隔符号): 用于设置间隔符号
-f(需要看的列数): 设置需要看的列数
eg:
即提取以冒号为间隔符号的第一列内容
cut -d: -f1 test.txt
文件目录管理命令
1.mkdir: 用于创建空白的目录
mkdir (选项) 目录
-p:递归创建出具有嵌套叠层关系的文件目录
2.rm: 用于删除文件或目录
rm (选项) 文件
-r: 删除目录
-f: 强制删除
3.touch: 用于创建空白文件或设置文件的时间
touch (选项) (文件)
-a: 仅修改“读取时间”(atime)
-m: 仅修改“修改时间”(mtime)
-d: 同时修改 atime 与 mtime
eg:
创建空白文件
touch test.txt
修改文件时间
touch -d “2017-05-04 15:44” test.txt
4.cp: 用于复制文件或目录
cp (选项) 源文件 目标文件
-p:保留原始文件的属性
-d:若对象为“链接文件”,则保留该“链接文件”的属性
-r:递归持续复制(用于目录)
-i:若目标文件存在则询问是否覆盖
-a:相当于-pdr
5.mv:用于剪切文件或将文件重命名
mv 源文件 目标路径/目标文件名
打包压缩与搜索命令
1.tar: 用于对文件进行打包压缩或解压
tar (选项) (文件)
把指定目录打包压缩:
tar -czvf 压缩包名称.tar.gz 要打包的目录
把压缩文件进行解压
tar -xzvf 压缩包名称.tar.gz
-c: 创建压缩文件
-x: 解开压缩文件
-t: 查看压缩包内有哪些文件
-z: 用 Gzip 压缩或解压
-j: 用 bzip2 压缩或解压
-v: 显示压缩或解压的过程
-f: 目标文件名
-P: 保留原始的权限与属性
-p: 使用绝对路径来压缩
-C: 指定解压到的目录
eg:
tar 命令把/etc 目录通 过 gzip 格式进行打包压缩,并把文件命名为 etc.tar.gz
tar -czvf etc.tar.gz /etc
将打包后的压缩包文件指定解压到/root/etc目录中(先使用 mkdir 命令来创建 /root/etc 目录)
mkdir /root/etc
tar xzvf etc.tar.gz -C /root/etc
2.grep: 用于在文本中执行关键词搜索,并显示匹配的结果
grep (选项) (关键词) (文件)
-n: 显示行号
-v: 反向选择:仅列出没有“关键词”的行
3.find: 用于按照指定条件来查找文件
find (查找路径) (指定条件:选项 条件) (操作)
-name: 匹配名称
-perm: 匹配权限(mode 为完全匹配, -mode 为包含即可)
-user: 匹配所有者
-group: 匹配所有组
-mtime -n/+n: 匹配修改内容的时间(-n 指 n 天以内, +n 指 n 天以前)
-atime -n/+n: 匹配访问内容的时间(-n 指 n 天以内, +n 指 n 天以前)
-ctime -n/+n: 匹配修改文件权限的时间(-n 指 n 天以内, +n 指 n 天以前)
-size: 匹配文件的大小(+50KB 为查找超过 50KB 的文件,而-50KB 为查找小 于 50KB 的文件)
eg:
该目录中所有以 host 开头的文件列表
find /etc -name “host*” -print
在整个系统中搜索权限中包括 SUID 权限的所有文件
find / -perm -4000 -print
输入输出重定向
输入重定向: 把文件导入到命令中
命令 < 文件: 将文件作为命令的标准输入
输出重定向: 把原本要输出到 屏幕的数据信息写入到指定文件中
命令 > 文件: 将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件: 将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件: 将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件: 将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 &>> 文件: 将标准输出与错误输出共同写入到文件中(追加到原有内容 的后面)
管道命令符
命令 A | 命令 B | 命令 C
把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入
命令行的通配符
1.星号(*)代 表匹配零个或多个字符
2.问号(?)代表匹配单个字符
3.中括号 ([ ]) 内加上数字[0-9]代表匹配 0~ 9 之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配 a、 b、 c 三个字符中的任意 一个字符
软件管理
1.rpm (红帽软件包管理器): 有点像 Windows 系统中的控制面板,会建 立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系。
安装软件的命令格式: rpm -ivh filename.rpm
升级软件的命令格式: rpm -Uvh filename.rpm
卸载软件的命令格式: rpm -e filename.rpm
查询软件描述信息的命令格式: rpm -qpi filename.rpm
列出软件文件信息的命令格式: rpm -qpl filename.rpm
查询文件属于哪个RPM 的命令格式: rpm -qf filename
2.yum(软件仓库 ): 根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安 装到系统。
yum repolist all: 列出所有仓库
yum list all: 列出仓库中所有软件包
yum info 软件包名称: 查看软件包信息
yum install 软件包名称: 安装软件包
yum reinstall 软件包名称: 重新安装软件包
yum update 软件包名称: 升级软件包
yum remove 软件包名称: 移除软件包