linux基础命令

发布时间 2023-12-27 17:42:25作者: Insomnia_ki_higher

Linux基本指令

一.常用指令:

1.目录操作指令

1.1.1 ls命令

ls是最常见的目录操作命令,主要作用是显示目录下的内容

命令名称:ls

英文原意:list

所在路径:/bin/ls

功能描述:显示目录下的内容

代码:

[root@localhost ~]# ls [选项] [文件名或者目录名]

-a				显示所有文件
--color=when :支持颜色输出,when的默认值是always(总显示颜色),也可以是never(从不)或者auto(自动)
-d				显示目录信息,而不是目录下的文件
-h				人性化显示
-i				显示文件的i节点
-l				长格式显示
演示:
[root@hadoop100 ~]# ls -l
总用量 16
drwxr-xr-x. 2 root root   29 12月 23 11:24 123
-rw-------. 1 root root 1687 11月 25 21:49 anaconda-ks.cfg
-rw-r--r--. 1 root root   41 12月  7 12:26 b1001
-rw-r--r--. 1 root root  181 12月 23 14:13 b1001.zip
drwxr-xr-x. 2 root root    6 12月  7 12:28 d1001
drwxr-xr-x. 2 root root    6 12月  6 18:36 folder
-rw-r--r--. 1 root root 1735 12月  6 13:50 initial-setup-ks.cfg
drwxr-xr-x. 2 root root  199 12月 22 15:16 scripts
drwxr-xr-x. 2 root root   18 12月  8 16:44 公共
drwxr-xr-x. 2 root root    6 11月 25 21:51 模板
drwxr-xr-x. 2 root root    6 11月 25 21:51 视频
drwxr-xr-x. 2 root root    6 11月 25 21:51 图片
drwxr-xr-x. 2 root root    6 11月 25 21:51 文档
drwxr-xr-x. 2 root root    6 11月 25 21:51 下载
drwxr-xr-x. 2 root root    6 11月 25 21:51 音乐
drwxr-xr-x. 2 root root   29 11月 26 20:40 桌面
权限 	引用计数 所有者 所属组 大小(字节) 修改日期 文件名
1.1.2 cd命令

cd命令是切换所在目录的命令

命令名称:cd

英文原意:change directory

所在路径:Shell内置命令

执行权限:所有用户

功能描述:切换所在目录

[root@localhost ~]# cd [文件名或者目录名]

~				家路径
- 				代表上次所在目录
.				代表当前目录
..				返回上层目录
1.1.3 绝对路径和相对路径

绝对路径:以根目录为参照物,从根目录开始。一级一级进去目录

相对路径:以当前目录为参照物,进行目录查找。

1.1.3 pwd命令

pwd命名是查询当前所在目录

命令名称:pwd

英文原意:print work directory

所在路径:/bin/pwd

执行权限:所有用户

功能描述:查询当前所在目录

1.1.4mkdir命令

mkdir是创建目录的命令

命令名称:mkdir

英文原意:make directory

所在路径:/bin/mkdir

执行权限:所有用户

功能描述:创建空目录

命令格式:

[root@localhost ~]# mkdir  [选项] 目录名
选项:
-p  			递归创建目录
1.1.5 rmdir命令

rmdir是删除当前目录

命令名称:rmdir

英文原意:remove directory

所在路径:/bin/rmdir

执行权限:所有用户

功能描述:删除空目录

命令格式:

[root@localhost ~]# rmdir [选项] 目录名
选项
-p					递归删除目录

2.文件操作命令

1.2.1.touch命令

创建空文件或者修改文件时间

命令名称:touch

英文原意:change file timestamps

所在路径:/bin/touch

执行权限:所有用户

功能描述:创建空文件或者修改文件时间

命令格式:

[root@localhost ~]# touch  文件名

1.2.2stat命令

查看文件的详细信息,而且可以看到文件的这三个时间

命令名称:stat

英文原意:display file or file system status

所在路径:/bin/stat

执行权限:所有用户

功能描述:显示文件详细信息

命令格式:

[root@hadoop100 ~]# stat b1001
  文件:"b1001"
  大小:41        	块:8          IO 块:4096   普通文件
设备:803h/2051d	Inode:33582185    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2022-12-23 14:32:19.597253776 +0800
最近更改:2022-12-07 12:26:56.000000000 +0800
最近改动:2022-12-23 14:29:56.865318081 +0800
创建时间:-
1.2.3cat命令

查看文件内容

命令名称:cat

英文原意:concatenate files and print on the standard output

所在路径:/bin/cat

执行权限:所有用户

功能描述:合并文件并且打印到标准输出

命令格式:

[root@localhost ~]# cat [选项]  文件名
选项:
-A							相当于vET选项的整合,用于列出所有隐藏符号
-E							列出每行结尾的回车符号
-n							显示行号
-T							把Tab键用^I显示出来
-v							显示特殊字符
1.2.4more命令

more是分屏显示文件的命令,其基本信息如下

命令名称:more

英文原意:file perusal fifter for crt viewin

所在路径:/bin/more

执行权限:所有用户

功能描述:分屏显示文件内容

命令格式:

more 会打开一个交互页面
空格键						向下翻页
b						  向上翻页
回车键						向下滚动一行
/字符串					搜索指定的字符串
q						  退出
1.2.5less命令

less命令和more相似,more为分屏显示内容,less为分行显示内容

命令名称:less

英文原意:opposite of more

所在路径:/bin/less

执行权限:所有用户

功能描述:分行显示文件内容

1.2.6head命令

head是用来显示文件开头的命令

命令名称:head

英文原意:output the first part of files

所在路径:/usr/bin/head

执行权限:所有用户

功能描述:显示文件开头的内容

命令格式:

[root@hadoop100 ~]# head -n 19 anaconda-ks.cfg 
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language
lang zh_CN.UTF-8
选项
-n 行数:					从文件头开始,显示指定行数
-v						  显示文件名
1.2.7tail命令

tail是显示文件尾部的命令

命令名称:tail

英文原意:output the last part of files

所在路径:/usr/bin/tail

执行权限:所有用户

功能描述:显示文件尾部的内容

命令格式:

选项
-n 行数:					从文件尾部开始,显示指定行数
-f						  监听文件的新增内容
1.2.8ln命令

命令名称:ln

英文原意:link

所在路径:/bin/ln

执行权限:所有用户

功能描述:在文件之间建立链接

命令格式:

[root@localhost~]# ln [选项] 源文件	目标文件
选项:
	-s	:建立软链接文件,如果不加-s那么建立硬链接
	-f	强制,如果文件已经存在,那么删除目标文件再建立
[root@hadoop100 ~]# ln -s 123 /tmp/123_s

3.目录和文件都能使用的命令

1.3.1rm命令

命令名称:rm

英文原意:remove file or directory

所在路径:/bin/rm

执行权限:所有用户

功能描述:删除文件或者目录

命令格式:

[root@localhost~]# rm [选项] 文件或目录	
选项:
	-r					递归删除,可以删除目录
	-f					强制删除
	-i					交互式删除
1.3.2cp命令

命令名称:cp

英文原意:copy file or directory

所在路径:/bin/cp

执行权限:所有用户

功能描述:复制文件或者目录

命令格式:

[root@localhost~]# rm [选项] 源文件 目标文件	
选项:
	-a					相当于-dpr选项的集合
	-d					若源文件为软链接,则复制出来的目标文件也为软链接
	-i					询问,如果目标已经存在,询问是否覆盖
	-p					复制后目标文件保留源文件的属性(所属者,所属组,权限和时间)
	-r					递归复制
1.3.3mv命令

命令名称:mv

英文原意:move(rename) files

所在路径:/bin/mv

执行权限:所有用户

功能描述:移动文件或改名

命令格式:

[root@localhost~]# mv [选项] 源文件 目标文件	
选项:
	-f					强制覆盖,若目标文件已经存在,则不询问,直接强制覆盖
	-d					交互移动,如果目标文件已经存在,则询问用户是否覆盖
	-v					显示详细信息					

4.基本权限管理

1.4.1chmod命令

命令名称:chmod

英文原意:change file mode this

所在路径:/bin/chmod

执行权限:所有用户

功能描述:修改文件权限模式

命令格式:

[root@localhost~]# chmod [选项] 权限模式 文件	
选项:
	-R					递归修改目录中的权限
1.4.2权限模式

chmod权限模式的格式是“[ugoa] [+-=] [perms]”,也就是“[用户身份] [赋予方式] [权限]”的格式,

用户身份:

u:代表所有者

g:代表所属组

o:代表其他用户

a:代表全体身份

赋予方式:

+:增加权限

-:减去权限

=:设置权限

权限:

r:read (可读)

w:write(可写)

x:execute(可执行)

1.4.3数字权限

4:read (可读)

2:write(可写)

1:execute(可执行)

所有者和所属组命令

1.4.4chown命令

chown是修改文件所有者和所属组的命令

命令名称:chown

英文原意:change file owner and group

所在路径:/bin/chown

执行权限:所有用户

功能描述:修改文件或者目录的所有者或所属组

命令格式:

[root@localhost~]# chown [选项] 所有者:所属组 文件或目录		
选项:
	-R					递归修改目录中的权限

普通文件不能修改文件的所有者,哪怕自己是这个文件的所有者也不行

普通用户可以修改自己文件的权限

1.4.5chgrp

命令名称:chgrp

英文原意:change group ownership

所在路径:/bin/chgrp

执行权限:所有用户

功能描述:修改文件或者目录的所属组

命令格式:

[root@localhost~]# chgrp [选项] 所属组 文件或目录	

umask默认权限

5.帮助命令

1.5.1man命令

man是最常见的帮助命令,也是linux最主要的帮助命令

命令名称:man

英文原意:manual

所在路径:/usr/bin/man

执行权限:所有用户

功能描述:显示联机帮助手册

命令格式:

[root@localhost~]# man [选项] 命令
选项:
	-f:					查看命令拥有哪个级别的帮助
	-k:					查看和命令相关的所有帮助

man命令的快捷键

快捷键 作用
上箭头 向上移动一行
下箭头 向下移动一行
PgUp 向上翻一页
PgDn 向下翻一页
g 移动到第一页
G 移动到最后一页
q 退出
/字符串 从当前页向下搜索字符串
?字符串 从当前页向上搜索字符串
n 当搜索字符串时,可以用n找到下一个字符串
N 当搜索字符串时,可以用N反向查询字符串,也就是说如果用“/字符串”搜索,那么N会表示向上搜索字符串,反之,向下搜索字符串

man命令的帮助等级

man -f 命令 或 whatis 命令

查看命令拥有哪个等级的帮助

man -k命令 或 apropos 命令

查看和命令相关的所有帮助

1.5.2info命令
1.5.3help命令

help只能获得linux内置命令的帮助

命令名称:help

英文原意:help

所在路径:shell内置命令

执行权限:所有用户

功能描述:显示shell内置命令的帮助

1.5.4 --help命令

6.搜索命令

1.6.1whereis 命令

whereis是搜索系统命令的命令

命令名称:whereis

英文原意:locate the binary ,source,and manual page files for a command

所在路径:/usr/bin/whereis

执行权限:所有用户

功能描述:查找二进制命令,源文件和帮助文档的命令

1.6.2which命令

which也是搜索系统命令的命令,和whereis的区别在于

whereis可以在查找二进制命令的同时,找到帮助文档的位置

而which在查找二进制命令的时候,如果此命令有别名,那么还可以找到别名

命令名称:which

英文原意:shows the full path of (shell)commands

所在路径:/usr/bin/which

执行权限:所有用户

功能描述:列出命令所在路径

1.6.3locate命令

locate命名是可以按照文件名搜索普通文件的命令

优点:依照数据库搜寻,搜寻速度快,消耗资源少,数据库位置/var/lib/mlocate/mlocate.db

(可以使用updatedb来更新数据库)

缺点:只能按照文件名寻找

1.6.4find命令

命令名称:find

英文原意:search for files in a directory hierarchy

所在路径:/bin/find

执行权限:所有用户

功能描述:在目录中搜索文件

1.按照文件名搜索

[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
	-name:				按照文件名搜素
	-iname:				按照文件名搜索,不区分大小写
	-inum:				按照inode号搜索

2.按照文件大小搜索

[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
	-size [+-]大小:		按照指定大小搜索文件

+:代表比指定大小大

-:代表比指定大小小

find命令的单位:

-size n[bckw]
              文件使用了 n 单位个存储单元。默认的单位是512字节的块,也可以用n后面加上       `b'
              来指定这个值。其他的单位是字节,如果在  n  后面加上  `c'  ;千字节(kB),如果在  n 后面加上`k'
              ;两字节的字,如果在       n        后面加上        `w'        。大小不会计入        indirect
              blocks,但是会计入没有真正分配空间的疏松文件中的块。

3.按照修改时间搜索

linux的文件中有访问时间(atime),数据修改时间(mtime),状态修改时间(ctime)这三个时间,我们也按照时间来搜索文件

[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
	-atime [+|-]时间:		按照文件访问时间搜索
	-mtime [+|-]时间:		按照文件数据修改时间搜索
	-ctime [+|-]时间:		按照文件状态修改时间搜索
-5:代表五天内修改的文件
5:代表5-6那天修改的文件
+5:代表6天前修改的文件

4.按照权限搜索

[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
	-perm 权限模式:		查找权限刚好等于权限模式的文件
	-perm -权限模式:	查找权限全部包含权限模式的文件
	-perm +权限模式:	查找权限包含权限模式的任意一个权限的文件

5.按照所有者和所属组查找

[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
	-uid 用户id :按照uid查找所属者是uid的文件
	-gid 组id :按照gid查找所属组是gid的文件
	-user 用户名 : 按照用户名查找所属者为user的文件
	-group	组名	:按照组名查找所属组为group的文件
	-nouser	:查找没有所属者的文件

6.按照文件类型搜索

[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
	type d:		查找目录
	type f:		查找文件
	type l:		查找软链接文件

7.逻辑运算符

[root@localhost~]# find 搜索路径 [选项] 搜索内容
选项:
	-a:		逻辑与
	-o:		逻辑或
	-not:	逻辑非

8.其他选项

1)-exec选项

[root@hadoop100 ~]# find /etc -iname passwd  -exec ls {} \;
/etc/pam.d/passwd
/etc/passwd

2)-ok选项

[root@hadoop100 ~]# find /etc -iname passwd  -ok ls {} \;
< ls ... /etc/pam.d/passwd > ? y
/etc/pam.d/passwd
< ls ... /etc/passwd > ? y
/etc/passwd

-exec和-ok基本一致,-ok会在询问后处理,而exec不会

1.6.5 grep命令
[root@hadoop100 ~]#grep [选项] "搜索内容" 文件名
选项:
-i 				忽略大小写
-n				输出行号
-v				反向查找
--color=auto	搜索出的关键字用颜色显示
1.6.6管道符

命令格式

命令一 | 命令二

命令一的正确结果作为命令二的操作对象

1.6.7命令的别名

命令格式

[root@hadoop100 ~]# alias   查询命令别名
# alias ser='systemctl start network' 设置别名

1.6.8常用快捷键

快捷键 作用
TAB 快速补全
CTRL+A 移动光标到命令行开头
CTRL+E 移动光标到命令行结尾
CTRL+C 中止当前命令
CTRL+U 删除或者剪切光标的命令
CTRL+L 清屏
CTRL+Y 粘贴CTRL+U的内容

7.压缩命令

1.zip格式

zip是windows中最常用的压缩格式,linux也可以识别zip文件,这可以方便的和windows互通文件

1.1zip格式的压缩命令

压缩命令就是zip

命令名称:zip

英文原意:package and compress files

所在路径:/usr/bin/zip

执行权限:所有用户

功能描述:压缩目录或文件

命令格式:

[root@hadoop100 ~]# zip [选项] 文件名 要压缩的文件
选项
-r				压缩目录
[root@hadoop100 ~]# zip b1001.zip b1001

1.2zip格式的解压缩命令

解压缩命令就是unzip

命令名称:unzip

英文原意:

所在路径:/usr/bin/unzip

执行权限:所有用户

功能描述:解压缩目录或文件

命令格式:

[root@hadoop100 ~]# unzip [选项]	要解压缩的文件
选项
-d				指定解压地点
[root@hadoop100 ~]# unzip -d /tmp/ b1001.zip
2.gz格式

2.1gz格式的压缩命令

gz格式是linux中最常见的压缩格式,使用gzip命令进行压缩,

[root@hadoop~]# gzip [选项]  源文件
选项
	-c:将压缩数据输出到标准输出中,可以用于保留源文件
	-d:解压缩
	-r:压缩目录

2.2gz格式的解压缩命令

如果要解压缩gz格式,那么使用gzip -d和gunzip都是可以的

命令名称:gunzip

英文原意:

所在路径:/bin/gunzip

执行权限:所有用户

功能描述:解压缩目录或文件

[root@hadoop~]# gunzip [选项]  压缩文件
3.bz2格式
4.tar格式

4.1tar格式的打包

tar格式的打包和解打包都是用tar命令,区别知识选项不同。

命令名称:tar

英文原意:tar

所在路径:/bin/tar

执行权限:所有用户

功能描述:打包和解打包命令

命令格式:

[root@hadoop~]# tar [选项] [-f 压缩包名]	源文件或目录
选项:
	-c:			打包
	-f:			指定压缩包的文件名。
	-v:			显示文件打包过程。
[root@hadoop100 ~]# tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg 
anaconda-ks.cfg
打包,不会压缩

4.2tar格式的解打包

[root@hadoop ~]# tar [选项] 压缩包
选项:
	-x:			解打包
	-f:			指定压缩包的文件名
	-v:			显示解打包文件过程
	-t:			测试,就是不解包,只是看看文件内容
	-C(大):		指定解打包位置
[root@hadoop100 ~]# tar -xvf  anaconda-ks.cfg.tar 
5."bz2.tar"和"gz.tar"的压缩解压缩
[root@hadoop ~]# tar [选项] 压缩包	源文件或者目录
选项
	-z			:压缩和解压缩“.tar.gz”格式
	-j			:压缩和解压缩“.tar.bz2”格式

例如:

[root@hadoop100 ~]# tar -zcvf folder.gz.tar folder/
folder/ #打包压缩folder文件夹
[root@hadoop100 ~]# tar -zxvf  folder.gz.tar 
folder/	#解包解压缩文件
[root@hadoop100 ~]# tar -zxvf  folder.gz.tar -C /tmp
folder/	#解包解压缩文件到指定位置

8.关机和重启

1.sync数据同步

sync命令的基本信息如下

命令名称:sync

英文原意:flush file system buffers

所在路径:/bin/sync

执行权限:所有用户

功能描述:刷新文件系统缓冲区

2.shutdown命令

shutdown命令的基本信息如下

命令名称:shutdown

英文原意:bring the system down

所在路径:/sbin/shutdown

执行权限:超级用户

功能描述:关机和重启

命令的基本格式如下:

[root@hadoop~]# shutdown [选项] 时间 [警示信息]
选项:
	-c:			取消已经执行的shutdown命令
	-h:			关机
	-r:			重启
3.reboot命令
[root@hadoop~]# reboot #重启

4.halt和poweroff命令

​ 这两个都是关机命令,直接执行即可。这两个命令不会完整关闭和保存系统服务,不建议使用。

[root@hadoop~]# halt 
#关机
[root@hadoop~]# poweroff 
#关机

5.init命令

[root@hadoop~]# init 0
#关机,调用系统的0级别
[root@hadoop~]# init 6
#重启,调用系统的6级别