第2章 新手必须掌握的Linux命令
命令格式:
命令名称 [命令参数] [命令对象]
参数:
短格式+短格式 可合并 如:-a -l = -al
短格式+长格式 不能合并
长格式+长格式 不能合并
常用系统工作命令:
echo $SHELL 提取变量SHELL的值
date "+%Y-%m-%d %H:%M:%S" 按照“年-月-日 小时:分钟:秒”输出系统时间
reboot 重启系统
poweroff 关闭系统
wget [参数] 下载地址 如:wget -c http://www.linuxprobe.com/docs/LinuxProbe.pdf
-c 断点续传
ps aux 查看进程
R 运行
S 中断
D 不可中断
Z 僵死
T 停止
top 动态监视进程活动与系统负载信息
load average: 0.01, 0.17, 0.19 1分钟,5分钟,15分钟内的CPU负载情况
pidof 查看进程PID值,如:pid sshd
kill [参数] [进程PID] 终止某个指定的PID进程 如:kill 2156
killall [参数] [进程名称] 终止某个指定名称的服务对应的全部进程 如:killall httpd
系统状态监测命令:
ifconfig 获取网卡配置与网络状态等信息
uname -a 查看系统内核与系统版本等信息
uptime 查看系统的负载信息
free -h 查看内存使用量信息
who 查看当前登入主机的用户终端信息
last 查看所有系统的登录记录
history 显示历史执行过的命令
!编码数字 重复执行某一次的命令
sosreport 收集系统配置及架构信息输出诊断文档
工作目录切换命令:
pwd 显示用户当前在系统中所处的位置
cd 切换工作路径
cd - 返回上一次的目录
cd ~ 切换到用户的家目录
ls 显示目录中的文件信息
ls -al 查看全部文件的详细信息
文本文件编辑命令:
cat 查看小文件
more 查看大/小文件
head -n 20 [文件] 查看文件前20行
tail -f /var/log/messages 实时查看最新日志文件
tr [原始字符] [目标字符] 替换文本文件中的字符 如:cat anaconda-ks.cfg | tr [a-z] [A-Z]
wc -l 统计文本的行数
stat 查看文件的具体存储信息和时间
cut -d: -f1 /etc/passwd 提取一冒号为间隔符号的第一列内容
diff -c A.txt B.txt 比较文本文件差异
--brief 显示比较后的结果
文件目录管理命令:
touch 创建空白文件或设置文件的时间
mkdir 创建目录
-p 递归创建具有嵌套层关系的目录
cp [选项] 源文件 目标文件 复制文件
-r 递归持续复制(用于目录)
mv [选项] 源文件 [目标路径|目标文件名] 剪切或重命名文件
rm [选项] 文件 删除文件或目录
-f 强制删除
-r 删除目录
dd if=/dev/zero of=560_file count=1 bs=560 指定大小和个数的数据块来复制文件的内容
if 输入的文件名称
of 输出的文件名称
bs 设置每个“块”的大小
count 设置要复制“块”的个数
file 查看文件类型
tar -czvf etc.tar.gz /etc 通过gzip格式打包文件
tar -xzvf etc.tar.gz 解压gzip格式的文件包
grep 用于文本中执行关键词搜索,并显示匹配的结果 如:grep /sbin/nologin /etc/passwd
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 …… {}\; | 后面可跟用于进一步处理搜索结果的命令(下文会有演示) |
如:find /etc -name "host*" -print 在/etc中查找以host开头的文件
find / -user linuxprobe -exec cp -a {} /root/findresults/ \; 在整个文件系统中找出所有归属于linuxprobe用户的文件并复制到/root/findresults目录