第二章 常用Linux命令
shell(终端或壳)命令行工具,充当用户与内核(硬件)之间的翻译官。
shell采用的解释器有很多,默认使用的是Bash(Bourne-Again Shell),很强大,应用广泛。
1. 帮助手册
两种方式
- man top 查看手册
- ps –help 请求帮助
man命令查看的帮助内容往往很长,可以通过以下快捷键快速定位查找:
表1 man 命令中常用按键以及用途
按键 | 用途 |
---|---|
空格键 | 向下翻一页 |
PaGe down | 向下翻一页 |
PaGe up | 向上翻一页 |
home | 直接前往首页 |
end | 直接前往尾页 |
/ | 从上至下搜索某个关键词,如“/linux” |
? | 从下至上搜索某个关键词,如“?linux” |
n | 定位到下一个搜索到的关键词 |
N | 定位到上一个搜索到的关键词 |
q | 退出帮助文档 |
2. 常用命令
1. 基本常用
ls -a/-l/-d/-t 详细了解下重要的几个参数
cd / pwd
echo $SHELL
reboot / poweroff
date
1
2
3
4
5date "+%Y-%m-%d %H:%M:%S"
2017-08-24 16:29:12
date -s "20170901 8:30:00" # 设置系统时间
Fri Sep 1 08:30:00 CST 2017
hwclock –w # 将系统时间同步到硬件时间wget
表 2 wget 命令的参数以及作用
参数 作用 -b 后台下载模式 -P 下载到指定目录 -t 最大尝试次数 -c 断点续传 -p 下载页面内所有资源,包括图片、视频等 -r 递归下载 1
wget -r -p http://www.linuxprobe.com # 递归下载整个页面
ps
表 3 ps 命令的参数以及作用
参数 作用 -a 显示所有进程(包括其他用户的进程) -u 用户以及其他详细信息 -x 显示没有控制终端的进程 常见的进程状态:
- R(运行): 进程正在运行或在运行队列中等待。
- S(中断): 进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该
状态。 - D(不可中断): 进程不响应系统异步信号,即便用 kill 命令也不能将其中断。
- Z(僵死): 进程已经终止,但进程描述符依然存在, 直到父进程调用 wait4()系统函数
后将进程释放。 - T(停止): 进程收到停止信号后停止运行。
top 键入后,还有很多交互操作,比如:按1,查看各CPU core使用情况
pidof 快捷方便,可以查看某个服务的全部进程号 e.g.
pidof sshd
kill / killall killall 可以杀掉有多个协同进程的服务 e.g.
killall httpd
2. 系统状态查看
- uname -a/-r/-m 系统版本 cat /etc/redhat-release
- ifconfig inet: IP地址;ether: MAC地址; RX/TX收发数据量
- uptime 查看启用的终端数量,系统负载等
- who / last 查看当前/所有系统的登入主机的用户记录信息
- history -c 清除; vim /etc/profile HISTSIZE 可以修改记录的数目; ./bash_history 保存历史命令的缓冲区
- sosreport 收集系统配置及架构信息的诊断报告,会打包到 /var/tmp目录下
3. 文本查看和编辑
cat / more / less 一个比一个强大,more和less有很多快捷功能 -n: 显示行号
head / tail -n -f
tr 替换字符,注意是字符,不是单词 e.g. cat test.log | tr [a-z] [A-Z] 实现小写转大写显示
wc -l / -w / -c 文本统计指令
stat 相当于查看文件属性,常用于文件的存储、权限、时间信息查询
cut -d [自定义分割符号] -f [分割后的第几列] 按列提取文本信息
cut -d: -f1 /etc/passwd
以冒号分割,给出第1列diff -c / –brief A.txt B.txt 文件对比
-c
详细比较;--brief
判断文件是否相同grep [选项] [文件] global regular expression print(全局正则表达式)
表 2-15 grep 命令的参数及其作用
参数 作用 -b 将可执行文件( binary)当作文本文件( text)来搜索 -c 仅显示找到的行数 -i 忽略大小写 -n 显示行号 -v 反向选择—仅列出没有“关键词”的行 -E 扩展模式 -q 安静模式,不向标准输出写任何东西,找到匹配的立即返回0 find [路径] [查找条件] [执行操作]
表 4 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 天以前) -nouser 匹配无所有者的文件 -nogroup 匹配无所有组的文件 -newer f1 !f2 匹配比文件 f1 新但比 f2 旧的文件 –type b/d/c/p/l/f 匹配文件类型(后面的字幕参数依次表示块设备、目录、字符设备、管道、 链接文件、文本文件) -size 匹配文件的大小( +50KB 为查找超过 50KB 的文件,而-50KB 为查找小于 50KB 的文件) -prune 忽略某个目录 -exec …… {}; 后面可跟用于进一步处理搜索结果的命令 举两个例子:
1
2find /etc -name "host*" -print # -print可省略
find . -name "*.txt" -exec cp {} /home/ \; # \; 一定不能少
4. 目录管理指令
mkdir -p 创建目录
touch 创建空白文件
还有一个重要功能,就是修改文件的属性时间
-a / -m / -d
:读取access,修改modify,同时读写doublee.g.
touch -d "2022-05-04 15:00" conf.yml
mv 移动和重命名
rm -rf 删除
cp 关注一些参数
表 4 cp 命令的参数及其作用
参数 作用 -p 保留原始文件的属性 -d 若对象为“链接文件”,则保留该“链接文件”的属性 -r 递归持续复制(用于目录) -i 若目标文件存在则询问是否覆盖 -a 相当于-pdr( p、 d、 r 为上述参数) dd 按照指定大小和数据块来复制或转换文件
1
2dd if=/dev/zero of=560_file count=1 bs=560M
dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso # 制作iso镜像文件file 因为Linux下文件不以后缀标识文件类型,所以需要file命令查看
5. 打包和压缩
tar [选项] [文件]
表 5 tar 命令的参数及其作用
参数 作用 -c 创建压缩文件 -x 解开压缩文件 -t 查看压缩包内有哪些文件 -z 用 Gzip 压缩或解压 -j 用 bzip2 压缩或解压 -v 显示压缩或解压的过程 -f 目标文件名 -p 保留原始的权限与属性 -P 使用绝对路径来压缩 -C 指定解压到的目录 常用组合
1
2tar -czvf result.tar.gz /result # 打包
tar -xzvf result.tar.gz -C /home/user # 解包