Linux命令

207 阅读8分钟

一.Linux目录解析

目录名 解析
bin 存放二进制文件
dev 存放用于系统引导时使用的各种文件
etc 用于存放设备文件
home 存放系统配置文件
lib 存放用户文件的根目录
sbin 存放跟文件系统中的程序运行所需要的共享库及内核模块
usr 用于存放共享的系统资源
var 用于存放运行时需要改变数据的文件
tmp 用于存放各种临时文件
root 管理员目录
opt 第三方程序安装目录

二.系统工作命令

man:查看帮助文档
man模式下的命令 描述
空格键/PaGe down 向下翻一页
PaGe up 向上翻一页
home 跳转首页
end 跳转尾页
q 退出帮助文档
date:显示以及设置系统的时间或日期
# 查看系统当前的时间
date

# 按照"年-月-日 小时:分钟:秒”的格式查看当前系统时间"
date "+%Y-%m-%d %H:%M:%S"

# 修改系统时间
date -s "20190509 15:00:00"

# 查看今天是当年中的第几天。
date "+%j"
关闭/重启系统
强制重启系统:reboot -p


关闭系统:
- poweroff
- shutdown -h now
- shutdown -h +9 "服务器正在关闭,请保存您的工作并注销。"
- halt
wget:在终端下载网络文件
# 重命名下载的文件
wget -O 文件名 下载地址

# 模拟下载,主要检查网络是否通畅
wget --spider www.baidu.com

# 模拟下载打印服务器响应
wget -S www.baidu.com
ps:查看系统进程
# 查看Linux系统中所有进程的详细信息
ps -aux

# 参数:
# -a:显示所有进程。
# -U:用户以及其他详细信息。
# -x:显示没有控制终端的进程。
Linux系统中,有5种常见的进程状态:
- R(运行):进程正在运行或在运行队列中等待。
- S(中断):进程正在休眠中。
- D(不可中断):进程不响应系统异步信号,即使用kill命令也不能将其中断。
- Z(僵死):进程已经终止,但进程描述符依然存在,直到父进程调用wait4()系统函数后将进程释放。
- T(停止):进程停止运行。<br>
进程显示结果解析:<br>
USER:进程所有者。 <br>
PID:进程ID号。    <br>
%CPU:进程CPU占用率。<br>
%MEM:内存占用率。<br>
VSZ:虚拟内存使用量(单位KB)。<br>
RSS:占用的固定内存量(单位是KB)。<br>
TTY:所在终端。<br>
STAT:进程状态。<br>
START: 被启动的时间。<br>
TIME:实际使用CPU的时间。<br>
COMMAND:命令名称与参数。
top:动态监控进程与系统负载。
top
pidof:查询某个指定服务器进程的PID值
pidof
kill:终止某个指定PID的服务进程
# 参数:
# -I:信号
# -a:当处理当前进程时,不限制命令名和进程号的对应关系。
# -p:指定kill命令只打印相关进程的进程号,而不发送任何信号。
# -s:指定发送信号。
# -u:指定用户
# 强制终止某个服务
pidof sshd    # 查找服务PID值
kill PID      # 终止服务

三.系统状态检测命令

ifconfig:获取网卡配置与网络状态等信息。
# 获取IP
ifconfig

# 临时修改系统IP(重启失效)
ifconfig etho 192.168.1.1
uname:查看系统内核与版本
# 完整的查看系统版本信息
uname -a
uptime:查看系统的负载
uptime

# 结果:21:20:33 up  1:54,  2 users,  load average: 0.00, 0.01, 0.00
# 解析:
# 显示当前系统时间、系统已运行时间、启用终端数量、平均负载值。
# 平均负载值:指系统在最近1分钟、5分钟、15分钟内的压力情况;负载值越低越好,尽量不要超过1,在生产环境中不要超过5.
free:显示当前系统中内存使用信息
free -h

# 结果解析:
# total:内存总量。
# used:已用量。
# free:可用量。
# shared:进程共享的内存量。
# buffers:磁盘缓存的内存量。
# cached:缓存的内存量。
who:查看当前进入主机的用户终端信息
who
last:查看所有系统的登录记录
last
history:显示历史执行过的命令
history
ping:测试网络连接
ping wwww.baidu.com
hostname:查看主机名
hostname

四.目录与文本文件操作命令

pwd:显示用户当前所在目录路径
pwd
cd:切换目录
cd
ls:显示目录中的文件信息
ls

# 参数:
# -a:显示全部文件(包括隐藏文件)。
# -A:显示全部文件(除了.和..文件)
# -f:直接列出结果,不进行排序。
# -F:根据文件、目录等信息,给予附加数据结构。
# -i:列出incode号。
# -I:文件详细信息。

# *:代表可执行文件,/:代表目录,=:代表socket文件
cat:查看文本文件(内容较少)
# 查看文件,显示行号
cat -n
more:查看文本文件(内容较多)
more

# 通过空格键或回车键向下翻页。
head:查看文本文件前n行内容
# 查看日志文件头10行日志
head -n 10 auth.log

# 查看日志文件除最后10行的其他所有日志
head -n -10 auth.log
tail:查看文本文件后n行内容
# 查看日志尾部最后10行日志
tail -n 10 auth.log

# 查看10行之后的所有日志
tail -n +10  auth.log

# 动态查看日志
tail -f -n 10 auth.log
tr:替换文件中的字符
# 将某个文本文件中的英文全部替换为大写
cat anaconda-ks.cfg | tr [a-z] [A-Z]
wc:统计指定文本的行数、字数、字节数
# 参数:
# -/:只显示行数
# -w:只显示单词数
# -c:只显示字节数

# 通过查看passwd,查询有多少个用户
wc -l /etc/passwd
stat:查看文件的具体存储信息和时间
stat authlog
cut:按'列'提取文本字符'
# 参数:
# -f:设置需要看的列数。
# -d:设置间隔符号。
# :   passwd中用户信息以:间隔,所以以:进行分隔。

# 按列形式提取passwd文件中用户名信息
cut -d: -f1 /etc/passwd
diff:比较多个文件的差异
# 参数:
# --brief:确认两个文件是否不同。
# -c:比较两个文件的差异之处。
touch:创建空白文件或设置文件时间
# 参数:
# -a:仅修改"读取时间(atime)"
# -m:仅修改"修改时间(mtime)"
# -d:同时修改atime和mtime
mkdir:创建目录
# 参数:
# -p:创建出具有嵌套叠层关系的文件目录
cp:复制文件或目录
# 在Linux中复制操作分为3种情况:
#       如果目标文件是目录,则会将源文件复制到该目录中。
#       如果目标文件也是普通文件,则会询问是否要覆盖。
#       如果目标文件不存在,则执行正常的复制操作。
# 参数:
# -p:保留原始文件的属性。
# -d:若对象为‘链接文件’,则保留该‘链接文件’的属性。
# -r:递归持续复制(用于目录)
# -i:若目录文件存在则询问是否覆盖
# -a:相当于-pdr
mv:剪切文件
mv 源文件 目标路径/目标文件名
rm:删除文件或者目录
rm -rf
file:查看文件类型
file 文件名

五.打包压缩

tar:对文件进行打包压缩或解压
# 参数:
# -c:创建压缩文件
# -x:解开压缩文件
# -t:查看压缩包内有哪些文件
# -z:用GZIP压缩或解压
# -j:用bzip2压缩或解压
# -v:显示压缩或解压的过程
# -f:目标文件名
# -P:保留原始的权限与属性
# -p:使用绝对路径来压缩
# -C:指定解压到的目录

# 打包压缩文件
tar -czvf 压缩包名称.tar.gz 要打包的目录

# 解压
tar -xzvf 压缩包名称.tar.gz -C 解压到的路径

六.搜索命令

grep:在文本在执行关键词搜索,并显示匹配结果
# 参数:
# -b:将可执行文件当作文本文件来搜索
# -c:仅显示找到的行数
# -i:忽略大小写
# -n:显示行号
# -v:反向选择,仅列出没有‘关键词’的行

# 在 Linux 系统中, /etc/passwd 文件是保存着所有的用户信息,而一旦用户的登录终端被
# 设置成/sbin/nologin,则不再允许登录系统,因此可以使用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 .... {}\;:后面跟用于进一步处理搜索结果的命令