【Linux常用命令】


一、Linux命令特点

1.在Linux系统中,区分大小写;
2.写命令时,可以使用“Tab”键自动补齐;
3.使用向上或向下的光标,可以查看执行过的历史命令;
4.可以在一个命令行上输入和执行多条命令,中间用“;”分隔;
5.当一个命令过长时,可以通过反斜线“\”分成多行表示,增强命令的可读性,执行后,shell自动显示提示符“>”,表示正在输入一个长命令。

二、浏览目录类命令

1.pwd命令
显示用户当前所处的目录。

2.cd命令
cd [Linux路径]
表示切换到某一个路径下,如果不加参数,表示回到用户的HOME目录。

常见的路径

路径含义
.当前目录
. .上一级目录
~或为空HOME目录
相对路径以当前目录为起点
绝对路径以根目录 / 为起点的写法

3.ls命令
ls [参数] [目录或文件]
列出文件或目录的信息。
不用参数时,列出当前工作目录的内容;
-a:显示所有的文件,包含隐藏的文件或文件夹(以.或…开头显示的);
在这里插入图片描述
-A:显示所有的子目录及文件,包括隐藏文件,但不显示“.”和“…”;
-c:按文件的修改时间排序;
-C:分成多列显示各行;
-l:以列表的形式展示内容(ls -l = ll),并展示更多信息;
在这里插入图片描述
-d:如果参数是目录,则只显示其名称而不显示其下的各个文件。一般与“-l”一起使用,显示目录的详细信息。
在这里插入图片描述
-i:显示文件的节点号,文件名与inode号一一对应;
-F:列出当前目录下的文件名及其类型。以结尾表示目录名,以*结尾表示可执行文件,以@结尾表示符号连接;
-R:显示出目录下及其所有子目录的文件名;
-h:列出文件大小,如K,M,G。必须与“-l”一起使用;
参数可以组合使用。-l -a 与-al与-la是一样的。

三、浏览文件类命令

1.cat命令
cat [参数] 文件名
用于滚屏显示文件内容或是将多个文件合并成一个文件。
-b:对输出内容中的非空行标注行号;
-n:对输出内容中的所有行标注行号。
cat还可以将多个文件合并成一个:

[root@RHEL7-1 ~]  cat file2 file1>file3 
//如果file3文件存在,则此命令的执行结果会覆盖file3文件中原有内容
[root@RHEL7-1 ~]  cat file2 file1>>file3 
//如果file3文件存在,此命令的执行结果将把file2和file1文件的内容附加到file3文件中原有内容的后面。

使用cat命令时,如果文件过长,用户只能看到文件的后面部分,不能看到前面内容,可以使用分页查看的方式查看文件内容,对应more和less命令。

2.more命令
more [参数] 文件名
-num:num为一个具体的数字,用来指定分页显示时每页的行数;
+num:指定从文件的第num行开始显示。
执行more命令后,进入分页查看状态,按“Enter”键向下移动一行,按“Space”键向下移动一页,按“Q”键退出。

3.less命令
less命令是more的改进版本,功能更多。
执行less命令后,进入分页查看状态,按“Enter”键向下移动一行,按“Space”键向下移动一页,按“B”键可以向上移动一页,也可以使用光标进行前后左右移动,按“Q”键退出。
less还支持在文本文件中查找。按“/”可以在文本里快速查找,再次按“Enter”向下查找。
其他用法与more类似。

4.head命令
head [参数] 文件名
显示文件开头部分,默认显示文件的前10行内容。
-n num:显示文件的前num行;
-c num:显示文件的前num个字符。

5.tail命令
tail [参数] 文件名
显示文件末尾部分,默认后10行内容。
-n num:显示文件的末尾num行;
-c num:显示文件的末尾num个字符;
+num:从第num行开始显示文件的内容。

四、目录操作类命令

1.mkdir命令
mkdir [参数] 目录名
创建一个目录。
-p:当父目录不存在时,同时创建该目录及其该目录的父目录。

2.rmdir命令
rmdir [参数] 目录名
删除空目录
-p:在删除目录时,一同删除父目录,但父目录中必须没有其他目录及文件。

五、文件操作类命令

1.mv命令
mv [参数] 源文件或目录 目标文件或目录
用于文件或目录的移动或改名,当目标文件或目录不存在时,则将文件移动过去并改名。
-i:如果目标存在,提示是否覆盖;
-f:无论目标是否存在,直接覆盖,不提示。

2.rm命令
rm [参数] 文件名或目录名
用于文件或目录的删除。
-i:删除时提示用户;
-f:删除时不提示用户;
-R:递归删除目录,即包含目录下的文件和各级子目录。

3.touch命令
touch [参数] 文件名
创建文件或更改文件的修改日期。
-d yyyymmdd:把文件的存取或修改时间改为yyyy年mm月dd日;
-a:只把文件的存取时间改为当前时间;
-m:只把文件的修改时间改为当前时间。

4.rpm命令
rpm [参数] 软件包名
用于对RPM软件包进行管理。
-qa:查询系统中安装的所有软件包;
-q:查询指定的软件包在系统中是否安装;
-qi:查询系统中已安装软件包的描述信息;
-ql:查询系统中已安装软件包里所包含的文件列表;
-qf:查询系统中指定文件所属的软件包;
-qp:查询RPM包文件中的信息,通常用于在未安装软件包之前了解软件包中的信息;
-i:用于安装指定的RPM软件包;
-v:显示较详细的信息;
-h:以“#”显示进度;
-e:删除已安装的RPM软件包;
-U:升级指定的RPM软件包。软件包的版本必须比当前系统中安装的软件包的版本高才能正确升级。如果当前系统中并未安装指定的软件包,则直接安装;
-F:更新软件包。

5.whereis命令
whereis [参数] 命令名称
用来寻找命令的可执行文件所在的位置。

6.whatis命令
whatis 命令名称
获取命令简介,帮助用户快速了解命令的具体功能。

7.find命令
find [路径] [匹配表达式]
用于对指定的文件进行查找。
find命令的匹配表达式主要有以下几种类型。
-name filename:查找指定名称的文件。
-user username:查找属于指定用户的文件。
-group grpname:查找属于指定组的文件。
-print:显示查找结果。
-size n:查找大小为n块的文件,一块为512B。符号“+n”表示查找大小大于n块的文件;符号“-n”表示查找大小小于n块的文件。
-inum n:查找索引节点号为n的文件。
-type:查找指定类型的文件。文件类型有:b(块设备文件)、c(字符设备文件)、d(目录)、p(管道文件)、l(符号链接文件)、f(普通文件)。
-atime n:查找n天前被访问过的文件。“+n”表示超过n天前被访问的文件;“-n”表示未超过n天前被访问的文件。
-mtime n:类似于atime,但检查的是文件内容被修改的时间。
-ctime n:类似于atime,但检查的是文件索引节点被改变的时间。
-perm mode:查找与给定权限匹配的文件,必须以八进制的形式给出访问权限。
-newer file:查找比指定文件新的文件,即最后修改时间离现在较近。
-exec command {} ;:对匹配指定条件的文件执行command命令。
-ok command {} ;:与exec相同,但执行command命令时请求用户确认。

//在当前目录下查找普通文件,并以长格形式显示
[root@RHEL7-1 ~]  find  .  -type  f  -exec  ls  -l  {}  \;
///logs目录中查找修改时间为5天以前的普通文件,并删除。保证/logs目录存在
[root@RHEL7-1 ~]  find  /logs  -type  f  -mtime 5  -exec  rm  {}  \;
///etc/目录下查找文件名以“.conf”结尾的文件
[root@RHEL7-1 ~]  find  /etc  -name  "*.conf"
//在当前目录下查找权限为755的普通文件并显示
[root@RHEL7-1 ~]  find  .  -type  f  -perm 755  -exec  ls {}  \;

8.locate命令
查找文件,与windows系统中的搜索类似,当忘记存储文件的位置或名字,可以使用。

[root@RHEL7-1 ~]  locate *doc

9.grep命令
grep [参数] 要查找的字符串 文件名
查找文件中包含指定字符串的行。指定的字符串可以使用正则表达式匹配。
详情参考正则表达式一节。

10.dd命令
按照指定大小和个数的数据来复制文件或转换文件。

参数作用
if输入的文件名称
of输出的文件名称
bs设置各个“块”的大小
count设置要复制“块”的个数

例如:从/dev/zero设备文件中取出两个大小为560MB的数据块,然后保存成名为file1的文件。

[root@RHEL7-1 ~] dd if=/dev/zero of=file1 count=2 bs=560M
记录了2+0 的读入
记录了2+0 的写出
1174405120字节(1.2 GB)已复制,1.12128 s,1.0 GB/s

再比如:使用dd命令将光驱设备中的光盘制作成iso格式的镜像文件。

[root@RHEL7-1 ~] dd if=/dev/cdrom of=RHEL-server-7.0-x86_64.iso
7311360+0 records in
7311360+0 records out
3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s

六、cp命令

cp [参数] 源文件 目标文件
用于文件或目录的复制。
-a:将文件的状态、权限等信息按照原状复制;
-f:如果目标文件或目录存在,先删除再进行复制(覆盖),并且不提示用户;
-i:如果目标文件或目录存在,提示是否覆盖;
-R:递归复制目录,包含目录下的各级子目录。

七、系统信息类命令

1.dmesg命令
显示系统的信息。

2.free命令
查看系统内存、虚拟内存大小及占用情况。

3.date命令
显示系统当前的日期和时间。
还可以设置系统当前的日期和时间。

[root@RHEL7-1 ~] date -d 08/08/2018
2018年 08月 08日 星期一 00:00:00 CST

4.cal命令
显示指定月份或年份的日历。
cal 6 2024 # 显示2024年6月份的日历
cal 2024 #显示2024年的日历
cal #显示当前月份的日历

5.clock命令
从计算机的硬件获得日期和时间。

八、进程管理类命令

1.前后台作业
Linux是一个多用户多任务的分时操作系统,同一时间,可以有属于多个用户的多个进程在运行。
进程可以在前台运行,也可以在后台运行,前台运行的进程可以与用户交互,后台运行的进程不能与用户交互。
shell分前后台控制的不是进程而是作业(job),一般,一整条命令对应一个作业,一个作业可以由多个进程组成。shell运行一个前台作业和任意多个后台作业。
(1)将一个命令放到后台执行,在命令后加上“&”符号,然后会显示一个作业号和一个进程号。下图中“1”是作业号,“42649”是进程号。
在这里插入图片描述
(2)bg命令 可以将进程放到后台运行
fg命令 可以把在后台运行的进程调到前台
jobs命令查看在后台运行的进程

#把进程放到后台运行
[root@RHEL7-1 ~] bg find
#查看后台运行的进程
[root@RHEL7-1 ~]  find / -name aaa &
[1] 2469
[root@RHEL7-1 ~]  jobs
[1]+  Running                 find / -name aaa &
#把后台运行的进程调到前台
[root@RHEL7-1 ~] fg find

可以使用“Ctrl+Z”组合键暂停前台运行的作业,再使用“bg ”可以将暂停的前台运行的作业切换到后台运行,同时,可以使用fg 格式将后台运行的作业切换到前台。

#
[root@RHEL7-1 ~] fg 1

2.查看进程
ps [参数]
-e:显示所有进程
-f:全格式
-j:不显示标题
-l:长格式
ps -lf :
在这里插入图片描述F:进程旗标。0表示一般进程,1表示已创建但未执行,4表示有超级用户权限,显示结果是这些值之和。
S:进程状态
PID:进程ID
PPID:父进程ID
C:占用的CPU百分比,仅整数部分
PRI:优先级
NI:Nice值
ADDR:内核进程的内存地址。一般进程只显示“-”
SZ:占用内存大小
WCHAN:进程是否正在运行,“-”表示正在运行
STIME:启动进程的时间
TTY:终端
TIME:进程消耗CPU的时间,格式为:[DD-]hh:mm:ss
CMD:命令的名称和参数

进程状态

标识含义
D不可中断的睡眠
R运行或就绪
S可中断的睡眠(等待事件完成)
T停止
W页面无效
Z僵尸进程(因结束父进程时未对其清理引起)
高优先级
N低优先级
L有分页被锁进内存
s回话的领导者进程
l多线程进程
+在前台进程组

优先级:Linux系统有两个和进程有关的优先级。用“ps -l”命令可以看到两个域:PRI和NI。PRI是进程实际的优先级,它是由操作系统动态计算的。这个优先级的计算和NI值有关。NI值可以被用户更改,NI值越高,优先级越低。一般用户只能加大NI值,只有超级用户才可以减小NI值。NI值被改变后,会影响PRI。优先级高的进程被优先运行,默认时进程的NI值为0。nice命令的用法如下:
nice -n 程序名 //以指定的优先级运行程序
其中,n表示NI值,正值代表NI值增加,负值代表NI值减小。

3.结束进程kill
ps [参数] 进程
kill向进程发送信号,令进程终止。
-l:查看可以发送的信号

[root@RHEL7-1 dir1]  kill -l
 1) SIGHUP      	 2) SIGINT     	 3) SIGQUIT   	 4) SIGILL
 5) SIGTRAP     	 6) SIGABRT    	 7) SIGBUS    	 8) SIGFPE
 9) SIGKILL     	10) SIGUSR1   	11) SIGSEGV  	12) SIGUSR2
13) SIGPIPE     	14) SIGALRM   	15) SIGTERM  	17) SIGCHLD
18) SIGCONT      	19) SIGSTOP   	20) SIGTSTP   	21) SIGTTIN
22) SIGTTOU      	23) SIGURG    	24) SIGXCPU   	25) SIGXFSZ
26) SIGVTALRM   	27) SIGPROF   	28) SIGWINCH  	29) SIGIO
30) SIGPWR       	31) SIGSYS    	34) SIGRTMIN   	35) SIGRTMIN+1
(略)

常用的9号:SIGKILL

[root@RHEL7-1 dir1]  kill -s SIGKILL 42649
[root@RHEL7-1 dir1]  kill -9 42649

4.pidof命令
pidof [参数] [服务名称]
查询某个指定服务进程的PID值,每个进程的PID值都是唯一的。

[root@l RHEL7-1 ~]  pidof sshd
1161

5.killall命令
killall [参数] [进程名称]
终止某个指定服务对应的全部进程,有的服务程序会有多个进程协同为用户提供服务,可以一次性结束。

[root@RHEL7-1 ~] pidof httpd
13581 13580 13579 13578 13577 13576
[root@RHEL7-1 ~] killall -9 httpd
[root@RHEL7-1 ~] pidof httpd
[root@RHEL7-1 ~]

如果在执行的过程中想立即停止,可以“Ctrl+C”组合键来立即终止该命令的进程。

九、其他常用命令

1.clear命令
清楚中断内容。
快捷键:Ctrl+L

2.uname命令
显示系统信息

3.man命令
列出命令的帮助手册

4.shutdown命令
shutdown [参数] 时间 [警告信息]
在指定时间关闭系统。
-r:系统关闭后重新启动;
-h:关闭系统;
时间可以是以下几种形式:
now:表示立即。
hh:mm:指定绝对时间,hh表示小时,mm表示分钟。
+m:表示m分钟以后。

[root@RHEL7-1 ~] shutdown -h now   //关闭系统
[root@RHEL7-1 ~] shutdown -r now   //重启系统

5.reboot命令
重新启动系统
等于“shutdown -r now”

6.poweroff命令
立即停止系统
等于“shutdown -h now”

7.halt命令
halt命令表示立即停止系统,但该命令不自动关闭电源,需要人工关闭电源。

8.alias命令
alias 命令别名 = “命令行”
用于创建命令的别名。

9.unalias命令
取消别名。

10.history命令
显示用户最近执行的命令,只要在编号前加“!”,就可以重新运行history中显示出的命令行。

[root@RHEL7-1 ~] !123

11.who命令
用于查看当前登入主机的用户终端信息。

12.wget命令
wget [参数] 下载地址
用于在终端中下载网络文件。
-O:下载并以不同的文件名保存;
-c:断电续传,重新启动下载中断的文件,对于下载大文件时突然由于网络等原因中断非常有帮助,可以继续接着下载而不是重新下载一个文件;
-b:后台下载,对于下载非常大的文件的时候,可以使用参数-b进行后台下载,tail –f wget-log查看进度。

13.last命令
查看所有系统的登录记录。但是由于这些信息都是以日志文件的形式保存在系统中,所以黑客可以很容易地对内容进行篡改。因此,千万不要单纯以该命令的输出信息而判断系统有无被恶意入侵!

14.sosreport命令
收集系统配置及架构信息并输出诊断文档。

15.echo命令
echo 字符串
echo $变量
在终端输出字符串或变量提取后的值。

16.read命令
read 变量
-p:提示信息。
读取值并给变量。

  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值