linux常用指令

本文用于记录linux学习的过程,学习材料为《linux就该这么学》,感谢作者大佬的无私奉献。

2.2 帮助命令

man

  • 空格、pagedown :下翻一页
  • pageup:上翻一页
  • home:转到首行
  • end:转到尾行
  • /:向下查找
  • ?:向上查找
  • n:下一个匹配
  • N:上一个匹配

2.3 常用系统工作命令

echo

  • $+变量 :输出变量内容
  • +字符串 :原样输出字符串

date

  • -c :设置日期和时间
  • “+%····” :格式化输出日期和时间
    • %Y:年份,eg:2020
    • %y:年份的后两位,eg:20
    • %m:两位数月份,eg:07
    • %d:两位数日,eg:03
    • %e:前面补空格的日,eg:_3
    • %p:大写AM、PM
    • %P:小写am、pm
    • %j:一年中的第几天
    • %F:="%Y-%m-%d",eg: 2020-03-05
    • %D:="%m/%d/%y",eg: 03/05/20
    • %r:="%I:%m:%S %p",eg: 07:24:15 PM
    • %R:="%H:%m",eg: 19:24

reboot

  • ** ** :

poweroff

  • ** ** :

wget

  • -b :后台下载
  • -P :指定下载位置
  • -t :最大尝试次数
  • -C :断点续传
  • -p :下载页面所有资源,包括图片、视频等
  • -r :递归下载

ps

  • -a :显示所有进程,包含其他用户的
  • -u :显示用户及其他详细信息
  • -x :显示没有控制终端的进程
  • 进程的状态
    -- R: 运行,进程正在运行或在队列中等待
    -- S: 中断,处于休眠中
    -- D: 不可中断,???
    -- Z: 僵死,???
    -- T: 停止
  • 该命令允许参数不写“-”符号

top

  • 第1行 :系统时间、运行时间、登录终端数、系统负载(三个数值分别为 1 分钟、5
    分钟、15 分钟内的平均值,数值越小意味着负载越低)。
  • 第2行 :进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程
    数。
  • 第3行 :用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源
    百分比、空闲的资源百分比等。(第 3 行中的数据均为 CPU 数据并以百分比格式显示,例如“97.1 id”意味着有 97.1%
    的 CPU 处理器资源处于空闲。)
  • 第4行 :物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
  • 第5行 :虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。

pidof

  • +服务名称 : 返回服务id。
[root@linuxprobe ~]# pidof sshd
2156 

kill

  • +进程PID : 终止该进程。
    [root@linuxprobe ~]# kill 2156

killall

  • +进程名称 : 终止该进程。
[root@linuxprobe ~]# pidof httpd
13581 13580 13579 13578 13577 13576
[root@linuxprobe ~]# killall httpd
[root@linuxprobe ~]# pidof httpd
[root@linuxprobe ~]# 

2.4 系统状态检测命令

ifconfig

uname

  • -a :完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
  • 以上为内核信息,如果要查看当前系统版本的详细信息,则需要查看 redhat-release 文件

free

  • -h :以友好格式显示,如数据单位等。

who

last

history

  • -c :清空历史
  • 历史命令会被保存到用户家目录中的.bash_history 文件中。 ~/.bash_history

sosreport

  • 不知为啥,我的执行报错 :????

2.5 工作目录切换命令

pwd

cd

ls

  • -a :查看全部,包括隐藏文件
  • -l :显示文件属性、大小等
  • -d :目录

2.6 文本文件编辑命令

cat

  • -n :显示行号

more

head

  • -n xx :显示前xx行

tail

  • -n xx :显示后xx行
  • -f :试试刷新

tr

  • tr [原始字符] [目标字符]” :
  • cat 管道 tr :eg cat anaconda-ks.cfg | tr [a-z] [A-Z]

wc

  • -l :统计行数
  • -w :单词数
  • -c :字节数

stat

  • Access :读取时间
  • Modify :内容修改时间
  • Change :权限、属性修改时间

cut

  • -d :分割符
  • -f :显示第几列

diff

  • -c :显示具体的不同
  • -brief :只返回比较结果(不同时)

2.7 文件目录管理命令

touch

  • -a :读取时间
  • -m :内容修改时间
  • -d :-am

mkdir

  • -p :多层目录

cp

  • -p :保留源文件属性
  • -d :若对象为“链接文件”,则保留该“链接文件”的属性
  • -r :递归复制(目录)
    --i :询问是否覆盖
    --a :-pdr

mv

rm

  • -r :删除目录
  • -f :强制删除,不提示

dd

  • if :输入文件
  • of :输出文件
  • bs :块大小
  • count :快数量

file

2.8 打包压缩与搜索命令

tar

  • -c :压缩
  • -x :解压缩
  • -t :查看内容
  • -v :显示进度
  • -z :gzip格式 .tar.gz
  • -j :bzip2格式 .tar.bz2
  • -f :目标文件名
  • -p :保留原始文件的权限和属性
  • -P :使用绝对路径 ???
  • -C :指定解压到

grep

  • -b :将可执行文件(binary)当作文本文件(text)来搜索
  • -c :进显示行号
  • -i :忽略大小写
  • -n :显示行号
  • -v :反向选择

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 …… {}; ** 后面可跟用于进一步处理搜索结果的命令(下文会有演示)

进阶实验:在整个文件系统中找出所有归属于 linuxprobe 用户的文件并复制到/root/findresults 目录。该实验的重点是“-exec {} ;”参数,其中的{}表示 find 命令搜索出的每一个文件,并且命令的结尾必须是“;”。完成该实验的具体命令如下:[root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults/ \;

你可能感兴趣的:(linux常用指令)