常用Linux命令选项

1、普通基础命令

1)chmod命令 – 改变文件或目录权限
常用参数
-c	若该文件权限确实已经更改,才显示其更改动作
-R	对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

权限范围
u	目录或文件的当前用户
g	目录或文件的当前的群组
o	除了目录或文件的当前用户或群组之外的用户或群组
a	所有的用户及群组

权限代号
r	读权限,4表示
w	写权限,2表示
x	执行权限,1表示
-	删除权限,数字0表示
s	特殊权限
2)chown命令 – 改变文件或目录的用户和用户组
常用参数:
-R	对目前目录下的所有文件与目录进行相同的变更
-c	显示所属信息变更信息

示例:
chown -cR szb:szb file/directory
3)cp命令 – 复制文件或目录
常用参数:
-i	若目标文件已存在,则会询问是否覆盖
-r	递归复制文件和目录
-a	等价于“pdr”选项,复制的文件与原文件时间一样
-s	对源文件建立符号连接,而非复制文件
4)find命令 – 根据路径和条件搜索指定文件
find pathname -options [-print -exec -ok …]
命令参数:
pathname		查找的目录路径
-print			匹配的文件输出到标准输出
-exec …… {} \;	后面可跟用于进一步处理搜索结果的命令
-ok				类似-exec,执行每个命令前都会提示

命令选项:
-name	匹配名称
-iname	忽略大小写
-perm	匹配权限(mode为完全匹配,-mode为包含即可)
-user	匹配所有者
-group	匹配所有组
-type b/d/c/p/l/f	匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-mtime -n +n		匹配修改内容的时间(-n指n天以内,+n指n天以前)
-size	匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件,字符c)

示例:
find / -perm 777
find -size +1k
find -name szb.txt  -exec cat {} \;
hello-world
find /tmp -type f -exec rm {} \;    //删除无用的临时文件
find /home -type f -size 0 -exec rm {} \;      //删除 0 字节文件
5)head命令 – 显示文件开头的内容
默认打印前10行
常用参数:
-n <数字>	定义显示行数
-c <数字>	指定显示头部内容的字符数

示例:
打印后10行内容
head -n -10 file
6)less命令 - 分页显示文件内容
查看前不会加载整个文件,随意游览文件,more只能向前移动,不能向后移动
常用参数:
-N	显示每行的行号

示例:
分页显示指定命令的输出结果:
history | less
7)ln命令 - 为文件创建快捷方式
链接分类:软链接和硬链接
区别:
1)软链接:可以跨文件系统,可以为不存在的文件名进行链接,可以对目录进行链接,以路径方式存在
2)硬链接:以文件副本方式存在,但不占实际空间

注意:若是为多个文件目录创建链接,目的地是一个已经存在的目录,否则会报错

常用参数:
-b	为每个已存在的目标文件创建备份文件
-s	对源文件建立符号链接,而非硬链接
-v	详细信息模式,输出指令的详细执行过程
8)locate命令 - 快速查找文件或目录
updatedb	更新数据库

常用参数:
-d	指定数据库所在的目录
-l num(显示的行数)
-f	将特定的档案系统排除在外,比如proc
-r	正则运算式作为寻找条件

示例:
locate -r '^/var.*log$'
9)more命令 - 分页显示文本文件内容
常用参数:
+num 	从第 num 行开始显示
-num	指定每屏显示的行数
-s	多个空行压缩成一行显示
-p	先清除屏幕再显示文本文件的剩余内容
-c	与-p相似,不滚屏,先显示内容再清除旧内容
10)mv命令 - 移动或改名文件
常用参数:
-i	若存在同名文件,则向用户询问是否覆盖
-f	覆盖已有文件时,不进行任何提示
-b	当文件存在时,覆盖前为其创建一个备份
11)rm命令 - 删除文件或目录
常用参数:
-f	强制删除(不二次询问)
-i	删除前会询问用户是否操作
-r/R	递归删除
rm -- -f*	删除以-f开头的文件
12)tail命令 - 查看文件尾部内容
常用参数:
-f	持续显示文件最新追加的内容
-n <N>	输出文件的尾部N(N位数字)行内容
13)jobs命令 – 显示shell的作业信息
常用参数:
-l	显示作业列表时包括进程号
-n	显示上次使用jobs后状态发生变化的作业
-p	显示作业列表时仅显示其对应的进程号
-r	仅显示运行的(running)作业
-s	仅显示暂停的(stopped)作业
14)touch命令 – 创建空文件与修改时间戳
常用参数:
touch [-acfm][-d][-r] [-t][--help][--version][文件或目录…]
-a	改变档案的读取时间记录
-m	改变档案的修改时间记录
-c	目标文件不存在,不创建新文件,与--no-create效果一样
-r	使用参考档的时间记录,与 --file 的效果一样
-d	设定时间与日期,可以使用各种不同的格式

示例:
修改指定文件的查看时间和修改时间:
touch -d "2022-10-08 15:44" file.log 
15)vim命令 – 文本编辑器
模式:
命令模式(进入文件的默认模式,:wq退出)
插入//输入模式(iao字母进入)
底线命令模式(:)

常用参数:
-R	只读模式
+<行数>	从指定行开始

示例:
打开第一个匹配的行
vim +/filename szb.txt
16)whereis命令 – 显示命令及相关文件的路径
只能用于程序名的搜索,只搜索二进制文件

注意:刚添加的文件可能搜不到, 原因就是该数据库文件没有被更新。

常用参数:
-b	查找二进制程序或命令
-s	只查找源代码文件
-m	查找man手册文件
-u	搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件
17)which命令 – 查找命令文件

查找某个文件
which 查看可执行文件的位置
whereis 查看文件的位置
locate 配合数据库查看文件位置
find 实际搜索硬盘中查询文件名称

查看PATH路径下的命令位置

常用参数:
-n	指定文件名长度(不含路径)
-p	指定文件名长度(含路径)
18)grep命令 – 强大的文本搜索工具
常用参数:
-i	忽略大小写
-A <显示行数>  除了显示符合范本样式的那一行之外,并显示该行之后的内容
-B<显示行数>   除了显示符合样式的那一行之外,并显示该行之前的内容
-C<显示行数>   除了显示符合范本样式的那一列之外,并显示该列之前后的内容
-c	只输出匹配行的数量
-l	只列出符合匹配的文件名,不列出具体的匹配行
-n	列出所有的匹配行,显示行号
-r	递归搜索
-f	从文件中读取关键字
-F	匹配固定字符串的内容
-E	支持扩展的正则表达式

规则表达式:
^	开头
$	结尾
.	匹配一个非换行符的字符
*	匹配一个或多个先前字符
.*	任意字符
[]	匹配指定范围内的字符
[^]	匹配不在指定范围内的字符
x\{m,n\}	重复字符x,至少m次,不多于n次

示例:
显示包含 ed 或者 at 字符的内容行
grep -E 'ed|at' test.txt
查找非x开关的行内容
grep'^[^x]' test.txt
19)wc命令 – 统计文件的行数 单词数 字节数 文件名
常用参数:
-l	统计行数
-w	统计单词数
-c	统计字节数
-m	统计字符数
20)cd命令 – 切换目录
常用参数:
~	切换至当前用户目录
..	切换至当前目录位置的上一级目录
-	进入上一次的工作路径
把上个命令的参数作为cd参数使用
cd !$
21)df命令 – 显示磁盘空间使用情况
默认以1kb展示

常用参数:
-a	显示所有系统文件
-h	以容易阅读的方式显示
-i	显示索引字节信息
-k	指定块大小为1KB
-l	只显示本地文件系统
-t <文件系统类型>	只显示指定类型的文件系统
-T	输出时显示文件系统类型

示例
以易读方式列出所有文件系统及其类型
df ‐haT
22)du命令 – 查看文件或目录的大小
常用参数:
-a	显示目录中所有文件大小
-k	以KB为单位显示文件大小
-m	以MB为单位显示文件大小
-g	以GB为单位显示文件大小
-h	以易读方式显示文件大小
-s	仅显示总计
-c	除了显示个别目录或文件大小,也显示文件目录总大小,默认

示例:
du -c  --max-depth=1 /root
23)ls命令 – 显示指定工作目录下的文件及属性信息
常用参数:
-a	显示所有文件及目录 (包括以“.”开头的隐藏文件)
-A	同 -a ,但不列出 “.” (当前目录) 及 “..(父目录)
-r	将文件以相反次序显示(默认依英文字母次序)
-S	根据文件大小排序
-t	根据最后的修改时间排序
-l	使用长格式列出文件及目录的详细信息
-h	以易读大小显示

示例:
列出文件绝对路径(不包含隐藏文件)
ls|sed "s:^: `pwd`/:"
24)mkdir命令 – 创建目录文件
常用参数:
-p	递归创建多级目录
-m	建立目录的同时设置目录的权限
25)pwd命令 – 查看当前工作目录路径或者软链接的实际路径
常用参数:
-L	显示逻辑路径
26)rmdir命令 – 删除空目录文件
常用参数:
-p	用递归的方式删除指定的目录路径中的所有父级目录,非空则报错
27)ifconfig命令 – 显示或设置网络设备参数信息
常用参数:
add<地址>	设置网络设备IPv6的IP地址
del<地址>	删除网络设备IPv6的IP地址

查看所有网络接口及其状态:ifconfig -a 
使用 up 和 down 命令启动或停止某个接口:
ifconfig eth0 up 和 ifconfig eth0 down 

对指定的网卡设备执行修改IP地址操作:
ifconfig ens160 192.168.10.20 netmask 255.255.255.0

对指定的网卡设备执行修改MAC地址操作
ifconfig ens160 hw ether 00:aa:bb:cc:dd:ee

对指定的网卡设备依次进行ARP协议关闭和开启操作
ifconfig ens160 -arp
ifconfig ens160 arp
28)iptables命令 – 防火墙策略管理工具

iptables----sport、dport解释

常用参数:
-t<>	指定要操纵的表
-A	向规则链中追加条目
-D	从规则链中删除条目
-I	向规则链中插入条目
-R	替换规则链中的相应条目
-L	显示规则链中的已有条目
-F	清除规则链中的现有条目
-p<协议>	指定要匹配的数据包的协议类型
-s<源地址>	指定要匹配的数据包的源IP地址
-j<目标>	指定要跳转的目标

示例:
把来源 IP 为 192.168.1.101 访问本机 80 端口的包直接拒绝: 
iptables -I INPUT -s 192.168.1.101 -p tcp --dport 80 -j REJECT 

开启 80 端口,因为web对外都是这个端口
iptables -A INPUT -p tcp --dport 80 -j ACCEP

iptables save 命令,进行保存
29)ping命令 – 测试主机间网络连通性
常用参数:
-c	指定发送报文的次数
-i	指定收发信息的间隔时间
-W timeout	超时时间

示例:
测试与指定主机之间的网络连通性,发送3次请求包,每次间隔0.2秒,最长等待时间为3秒:
ping -c 3 -i 0.2 -W 3 192.168.10.10
30)free命令 – 显示系统内存使用量情况
常用参数:
-b	以Byte显示内存使用情况
-k	以kb为单位显示内存使用情况
-m	以mb为单位显示内存使用情况
-g	以gb为单位显示内存使用情况
-s	持续显示内存
-t	显示内存使用总合

示例:
以易读的单位显示内存使用量信息,每个10秒刷新一次:
free -hs 10
31)netstat命令 – 显示网络状态
常用参数:
-l	仅列出在监听的服务状态
-t	显示TCP传输协议的连线状况
-u	显示UDP传输协议的连线状况
-a	显示所有连线中的Socket
-r	显示路由表信息
-n	直接使用IP地址,不通过域名服务器
-p	显示正在使用Socket的程序识别码和程序名称

示例:
查看系统都开启了哪些端口
netstat -lnp

查看网络连接状况
netstat -an

统计系统当前进程连接数
netstat -an | grep ESTABLISHED | wc -l 

显示网卡当前状态信息:
netstat -i 
32)telnet命令 – 控制远程设备
登录远程主机:
telnet 192.168.8.105
33)date命令 – 显示或设置系统日期与时间
常用参数:
时间格式MMDDhhmm[CC][YY][.ss],其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数
-s datestr	将系统时间设为 datestr 中所设定的时间
-d datestr	显示 datestr 中所设定的时间 (非系统时间)

示例:
date +%Y-%m-%d:%H-%M-%S
2022-10-17:15-39-48

显示下一天日期
date +%Y%m%d --date="+1 day"

昨天日期
date +%Y-%m-%d:%H-%M-%S -d "last-day"
2022-10-16:15-42-16

34)kill命令 – 杀死进程
常用参数:
-l	列出系统支持的信号
-s	指定向进程发送的信号
-a	不限制命令名和进程号的对应关系
-p	不发送任何信号
-u	指定用户

示例:
强制结束某个指定的进程(数字为对应的PID值):
kill -9 1518
35)ps命令 – 显示进程状态
如果需要动态连续结果使用 top
进程有5种状态:
	运行(正在运行或在运行队列中等待)
	中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
	不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
	僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
	停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

常用参数:
-A	显示所有程序
a	显示所有进程
-a	显示同一终端下所有进程
e	显示环境变量
f	显示进程间的关系
r	只列出现行终端机正在执行中的程序
-aux 显示所有包含其它使用的进程

示例:
1)显示当前所有进程环境变量及进程间关系
	ps -ef
2)显示当前所有进程
	ps -A
3)与grep联用查找某进程
	ps -aux |grep apache
36)rpm命令 – RPM软件包管理器
常用参数:
-i	安装软件包
-e	卸载软件包
-q	查询软件包
-U	升级软件包
-l	显示软件包的文件列表
-a	查询所有的软件包

示例:
正常安装软件包:
rpm -ivh cockpit-185-2.el8.x86_64.rpm 

显示系统已安装过的全部RPM软件包:
rpm -qa

查询某个软件的安装路径:
rpm -ql

卸载某个通过RPM软件包安装的服务:
rpm -evh

升级某个软件包:
rpm -Uvh
37)top命令 – 实时显示系统运行状态
常用参数:
-n	设定显示的总次数,完成后将会自动退出
-d <>	改变显示的更新速度

前五行是当前系统情况整体的统计信息区。
第一行,任务队列信息,同 uptime 命令的执行结果
第二行,Tasks — 任务(进程)
第三行,cpu状态信息
第四行,内存状态
第五行,swap交换分区信息
第六行,空行。
第七行以下:各进程(任务)的状态监控,项目列信息

交互命令:
c	切换显示命令名称和完整命令行
m	以内存使用率排序
P	cpu使用百分比大小进行排序
T	累计时间进行排序
38)yum命令 – 基于RPM的软件包管理器
常用参数:
install	安装rpm软件包
update	更新rpm软件包
remove	删除指定的rpm软件包
list	显示软件包的信息
search	检查软件包的信息
info	显示指定的rpm软件包的描述信息和概要信息
clean	清理yum过期的缓存
-y	对所有的提问都回答“yes”
-c	指定配置文件
39)bzip2命令 – bz2文件的压缩程序
常用参数:
-d	执行解压缩
-t	测试.bz2压缩文件的完整性

示例
检查文件完整性:
bzip2 -t a.txt.bz2
40)gzip命令 – 压缩和解压文件
常用参数:
-d	解开压缩文件
-f	强行压缩文件
-k	保留原文件
-l	列出压缩文件的相关信息

示例
显示压缩的比率:gzip -l *.gz 
41)tar命令 – 压缩和解压缩文件
常用参数:
-c	建立新的备份文件
-z	通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz
-j	通过bzip2指令压缩/解压缩文件,文件名最好为*.tar.bz2
-v	显示操作过程
-f<备份文件>	指定备份文件
-x	从归档文件中提取文件
-- -exclude=<范本样式>	排除符合范本样式的文件

压缩:tar -zcvf  backup1.tar.gz /etc
解压缩:tar -xvf  backup1.tar.gz


42)unzip命令 – 解压缩zip格式文件
常用参数:
-l	显示压缩文件内所包含的文件
-d 	解压缩到指定目录下

示例:
将压缩包文件解压到指定的目录中:
unzip latest.zip -d /home
43)lsattr命令 – 显示文件隐藏属性
常用参数:
Usage: lsattr [-RVadlv] [files...]
-R	递归地处理指定目录下的所有文件及子目录
-v 	显示文件或目录版本
-a 	列出目录中的所有文件,包括隐藏文件
-d 	只显示目录名称

示例:
> lsattr /etc/passwd
-------------e-- /etc/passwd

> lsattr -l  /etc/passwd
/etc/passwd                  Extents

> lsattr -v  /etc/passwd
1420315079 -------------e-- /etc/passwd

44)chattr 命令 – 更改文件隐藏属性
常用参数:
-R	递归处理目录下的所有文件
-v	设置文件或目录版本
-V	显示指令执行过程
+	开启文件或目录的该项属性
--	关闭文件或目录的该项属性
=	指定文件或目录的该项属性

权限作用:
i	无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
x	可以直接访问压缩文件中的内容

示例:
给指定文件添加隐藏属性:
> chattr +i test.sh
经典面试题

问题一:绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示 ? 切换目录用什么命令?
答案:

绝对路径:如/etc/init.d
当前目录和上层目录:./ …/ 主目录:~/
切换目录:cd

问题二:怎么查看当前进程?怎么执行退出?怎么查看当前路径?
答案:

查看当前进程:ps 执行退出:exit
查看当前路径:pwd

问题三:怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?
答案:

清屏:clear
退出当前命令:ctrl+c 彻底退出执行睡眠 :ctrl+z 挂起当前进程 fg 恢复后台查看当前用户 id:”id“:查看显示目前登陆账户的 uid 和 gid 及所属分组及用户名查看指定帮助:如 man adduser 这个很全 而且有例子;adduser –help 这个告诉你一些常用参数;info adduesr;

问题四:Ls 命令执行什么功能?可以带哪些参数,有什么区别?
答案:

ls 执行的功能:列出指定目录中的目录,以及文件哪些参数以及区别:a 所有文件 l 详细信息,包括大小字节数,可读可写可执行的权限等

问题五:建立软链接(快捷方式),以及硬链接的命令。
答案:

软链接:ln -s slink source 硬链接:ln link source

问题六:目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?
答案:

创建目录:mkdir
创建文件:典型的如 touch,vi 也可以创建文件,其实只要向一个不存在的文件输出,都会创建文件复制文件:cp 7. 文件权限修改用什么命令?格式是怎么样的?

文件权限修改:chmod

格式如下:
chmod u+x file 给 file 的属主增加执行权限 chmod 751 file 给 file 的属主分配读、写、执行(7)的权限,给 file 的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
chmod u=rwx,g=rx,o=x file 上例的另一种形式 chmod =r file 为所有用户分配读权限
chmod 444 file 同上例 chmod a-wx,a+r file 同上例
$ chmod -R u+r directory 递归地给 directory 目录下所有文件和子目录的属主分配读的权限

问题七:查看文件内容有哪些命令可以使用?
答案:
vi 文件名 #编辑方式查看,可修改 cat 文件名 #显示全部文件内容 more 文件名 #分页显示文件内容 less 文件名 #与 more 相似,更好的是可以往前翻页 tail 文件名 #仅查看尾部,还可以指定行数 head 文件名 #仅查看头部,还可以指定行数

问题八:随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”?
答案:

写文件命令:vi
向屏幕输出带空格的字符串:echo hello world

问题九:终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?
答案:

终端 /dev/tty
黑洞文件 /dev/null

问题十:移动文件用哪个命令?改名用哪个命令?
答案:

mv mv

问题十一:使用哪一个命令可以查看自己文件系统的磁盘空间配额呢?
答案:

使用命令 repquota 能够显示出一个文件系统的配额信息

2、脚本命令

1)getopts – 解析脚本选项参数的工具
用法:
getopts: usage: getopts optstring name [arg]
脚本位置参数会与optstring中的单个字母逐个匹配,如果匹配到就赋值给name,否则赋值name 为问号; 
optstring中单个字母是一个选项,如果字母后面加冒号,表示该选项后面带参数,参数值并会赋值 给OPTARG变量; 
optstring中第一个是冒号,表示屏蔽系统错误(test.sh: illegal option -- h);
允许把选项放一起,例如-ab
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值