自学内容网 自学内容网

Linux常用命令大全

目录

一、Linux 目录结构

二、目录操作命令

三、Linux绝对路径和相对路径

四、文件操作命令

五、查看登录用户命名

​编辑六、文件内容【查看】命令

七、系统管理类命令

八、日期时间管理类命令

九、bash通配符介绍

十、用户和权限管理

十一、压缩与解压缩命令

十二、链接、网络连接命令

十三、vi 编辑器 (最常用)

十四、安装应用程序 rpm

十五、安装应用程序 yum

十六、ls的特性


一、Linux 目录结构

目录作用
/root管理员用户root的宿主(家)目录
/home普通用户的宿主(家)目录
/boot存放系统内核、启动文件
/dev存放设备文件(硬盘、光盘等)
/etc存放配置文件
/bin存放所有用户可执行的命令文件
/sbin存放管理员可执行的命令文件
/usr存放系统用户工具和应用程序
/var存放可变化的文件、日志等文件
/lib存放系统程序的的动态链接共享库文件(依赖等)
/media存放可卸载的的媒介挂载点(u盘、光驱等)
/proc存放映射系统信息的文件
/mnt存放临时挂载储存设备
/opt第三方应用程序安装的目录
/tmp存放系统临时文件

二、目录操作命令

cd、pwd、ls、mkdir、rmdir、du

cd

切换到另一个目录

pwd

打印当前所在目录 

ls

列出目录内容

常用选项:

  •  -l     列出的文件以长格式输出,一个文件显示一行(可简写为ll)
  • -a    显示以 “.”开头的文件,“.”开头的为隐藏文件,默认不显示
  • -d    显示目录本身而不显示目录下的文件,默认ls 后面的参数如果是目录,则会显示目录下的文件,如:ls /root
  • -lh    长格式输出的文件字节数转换为K,M,G的形式方便阅读
  • -t    列出的文件按照修改时间的晚和早排序(最近修改的先显示)
  • -tr    列出的文件按照修改时间的早和晚排序(最近修改的后显示)
  • -R    列出当前目录下的所有文件,如果有目录遍历所有目录及其子目录下的文件
mkdir

创建目录,使用 -p 选项可以级联创建目录

rmdir删除空目录,必须是空目录,否则用rm -rf filename删除
du

统计目录下每个文件字节数

常用选项

  • -s    只显示所有文件字节数总数
  • -h    转换字节数为K、M、G的形式,便于阅读

具体说明:

以   drwxr-xr-x. 2 root root  31 2月  21 2024 conf   为例

  • 第一部分

代表文件类型:

“-”

普通文件

“d”

目录

“l”

链接文件(符号链接;小写的L)或软链接

“c”

字符设备文件

“b”

块设备文件

“s”

套接字文件

“p”命名管道文件
  • 第二部分

后9位每3位为一组代表相关用户其他用户的读,写,执行权限

  • 第三部分

如果文件是普通文件:硬链接的个数(访问该文件的路径数)

如果文件是目录:目录下的一级子目录的个数

  • 第四部分

文件的属主(文件所属的用户名

  • 第五部分

文件的属组(文件所属的用户组名

  • 第六部分

文件的字节数(大小)

  • 第七部分

文件最近一次的修改日期

  • 第八部分

文件名称

三、Linux绝对路径和相对路径

绝对路径:以根目录“/”开始的路径,表示从Linux目录结构的最顶点算起,特点是路径以“/”开头

相对路径:不以根目录“/”开始的路径,以当前目录作为起始点,特点是不以“/”开头

每个目录下都有”.”和”..”2个目录:

        一个点“ . ”代表当前目录,写全了“ ./ ”

        二个点“ .. ”代表上一级目录,写全了“ ../ ”

四、文件操作命令

which、touch、cp、mv、rm、file

which

命令字在磁盘的什么位置

例如:

touch

创建一个空文件,如果文件已经存在修改文件的修改日期

例如:

touch /root/aaa /root/bbb /root/ccc

cp
  • 复制文件

例如:复制 /root/install.log 文件到 /tmp

           cp /root/install.log  /tmp

例如:复制 /root/install.log 文件到 /tmp并改名为 abc.log

           cp /root/install.log  /tmp/abc.log

  • 复制目录 -R

例如:复制整个 /root 目录到 /tmp

           cp  -R /root  /tmp

例如:复制整个 /root 目录到 /tmp并改名为 abc

          cp -R /root  /tmp/abc

mv
  • 移动文件或目录

例如:移动 /root/install.log.bak 文件到 /tmp

           mv /root/install.log.bak  /tmp

  • 给文件或目录改名

例如:给/tmp下的root目录改名为root1

          mv  /tmp/root /tmp/root1

rm
  • 删除文件

例如:删除/root/install.log.bak

          rm /root/install.log.bak

  • 删除目录

例如:给/tmp下的root1目录

          rm -rf /tmp/root1

常用选项:

-r 级联删除目录下的所有文件

-f 不提示(不用用户键入'y'或'n'进行确认)

file查看文件的类型

五、查看登录用户命名

who、w

who    当前用户登录的信息
w   当前用户登录的信息,以什么程序登录的



六、文件内容【查看】命令

cat、tac、more、less、tail、head

cat    

查看文本文件内容,将文本文件内容全部打印到标准输出

选项 -n 输出结果带行号

tac    

查看文本文件内容,倒序输出

倒序打印文本文件的内容

more

分页显示文件内容,默认显示进度百分比

空格往下翻页,b往上翻页,f往下翻页,q退出

less

分页显示文件内容,例如:less /root/install.log

选项 -m 显示进度百分比

可以用“/”后跟关键字搜索文件内容

空格往下翻页,b往上翻页,f往下翻页,q退出

tail

查看文件尾部10行,例如:tail /root/install.log

选项-n (n为正整数)可以指定显示末尾N行内容

head 

查看文件头部10行,例如:head /root/install.log

选项-n (n为正整数)可以指定显示头部N行内容

七、系统管理类命令

shutdown、reboot、lscpu

shutdown    

关机命令

  • shutdown -h now 立刻关机
  • shutdown -h +10 "10分钟后关机",每个登录用户收到“10分钟后关机”的消息,并于10分钟后关机
  • shutdown -c 取消关机
reboot    重启系统
lscpu    查看系统cpu信息

八、日期时间管理类命令

date、clock

date    

打印操作系统时钟

date -s 20190101 按照指定日期重新设定日期和时间

clock 

打印硬件时钟(主板中依靠纽扣电池保存在芯片中的时钟)

clock -s 按照硬件时钟设置操作系统时钟

clock -w按照操作系统时钟设置硬件时钟

九、bash通配符介绍

*    匹配任意长度的任意字符
?    匹配任意单个字符
[]    匹配指定字符范围内的任意单个字符,简化写法[a-z]不区分大小写
[[:upper:]]  大写字母  
[[:lower:]]    小写字母
[[:alpha:]]    大小写所有字母
[[:digit:]]    匹配数字,可以写成[0-9]
[[:alnum:]]    字母+数字
[[:space:]]    空格
[[:punct:]]   标点符号 特殊字符
[^]   匹配指定字符范围外的任意单个字符

1、列出a开头的所有文件

ls a*

2、列出a开头一共3个字母的文件

ls a??

3、列出三个大写字母文件名的文件

ls [[:upper:]][[:upper:]][[:upper:]]

4、列出一个字母后跟三个数字的文件

ls [a-z][0-9][0-9][0-9]

5、列出不以a字母开头后跟三个数字的文件

ls [^a][0-9][0-9][0-9]

拓展:Bash中的组合键

键或组合键   功能
Ctrl+A   将光标移动到命令行开头
Ctrl+C   结束正在运行的程序并返回提示符
Ctrl+D   退出当前shell会话,相当于键入exit或logout
Ctrl+E    将光标移动到命令行末尾
Ctrl+H   向前删除
Ctrl+L   清空当前屏
Ctrl+R    查询命令历史记录
Ctrl+Z    暂停一个程序

十、用户和权限管理

 Linux是多用户操作系统,通过用户、用户组和权限实现用户认证和系统资源的分配

1、用户组 
(1)存放文件:/etc/group

文件中一个组一行记录

一个用户可以属于多个用户组

一个用户组可以包含多个用户

(2)组文件格式,共4个字段

第一字段:组名

第二字段:组密码位

第三字段:gid 组编号

第四字段:以本组作为附加组的用户名,用逗号分隔

  • 新建用户组 groupadd 组名

        例如:

                groupadd g1

                cat /etc/group

  • 删除用户组 groupdel 组名

        例如:

                groupdel g1

                cat /etc/group

2、用户
(1)存放文件:/etc/passwd

文件中一个用户一行记录

(2)用户文件格式,共7个字段

第一字段:用户名

第二字段:用户密码位

第三字段:uid 用户编号

第四字段:gid 主组编号

第五字段:用户备注信息

第六字段:家目录位置

第七字段:用户使用shell解释器的位置,若为/sbin/nologin,用户不能登录

例如: linux1:x:1000:1000:linux1:/home/linux1:/bin/bash

3、用户类型
(1)超级用户root  权限特别大

uid=0,gid=0  生产环境建议不要使用

(2)普通用户  

uid>=500  一般权限系统管理,权限有限

(3)程序用户

1<=uid<500   仅仅使用系统服务资源,不能登录系统

(4)判定程序用户能否登录到操作系统

不能登录:shell为/sbin/nologin

可以登录:shell为/bin/bash

4、添加用户 useradd
 useradd [-u UID] [-g GID] [-d HOME] [-s] [-c] 用户名

-u 自定义UID用户编号,不指定系统自动编号

-g 自定义主组GID组编号或组名,前提是这个组已经存在,若不指定主组系统会创建一个和用户名一样的组作为用户主组

-G 自定义附加组GID组编号或组名,用逗号隔开,前提是这些组已经存在

-d 指定家目录,若不指定默认为/home/用户名

-s 自定义shell,若不指定默认为/bin/bash

-c 用户备注信息,若不指定默认为空

示例:创建wang用户主组为g1,附加组为zhang和root

useradd -u 600 -g g1 -G zhang,root wang
cat /etc/passwd
cat /etc/group  

5、查看用户信息 id 用户名
(1)查看当前登录用户信息:id
(2)查看指定用户信息:id zhang、id wang
6、修改用户 usermod
 usermod [-u UID] [-g GID] [-d HOME] [-s] [-l] 用户名

-l 选项修改用户名

示例:把用户名wang改为wang1, 再把wang1改成wang

7、删除用户 userdel [-r] 用户名
 -r选项,在删除用户的同时删除其家目录和相关系统邮件

8、切换用户 su - 用户名 
 可以添加选项 “-”,会执行要切换用户的相关环境变量

9、给用户设置登录密码 passwd [用户名]

修改当前用户登录密码 passwd  (如果普通用户设置密码需要较高密码复杂度)

修改指定用户登录密码 passwd zhang (root用户操作)

10、密码文件
         /etc/passwd 文件,由于该文件允许所有用户读取,易导致用户密码泄露,因此 Linux 系统将用户的密码信息从 /etc/passwd 文件中分离出来,并单独放到了/etc/shadow文件中。

        /etc/shadow 文件只有 root 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。

        存放位置 /etc/shadow 每一行对应一个用户的密码信息,共9字段

字段说明:

root:$6$ktBL/HO4k8qN9yzK$aOokjpdjFY8hm53P90OPXddo2rtbZ3q5FLy/cXKljv.6OiG0anhIXKKCwafp83mni.oc/bHO9iXdD1JMx3lDf/::0:99999:7:::
用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

11、权限
(1)权限类别
                权限分为三种,分别是读、写、执行; r  (read)、w  (write) 、x  (execute)

(2)权限作用对象:文件 (Linux一切皆文件)
(3)显示文件的权限:ls -l 或 ll (redhat系列发行版linux,默认为ls -l创建了别名ll)
(4)用户的不拥有某位权限,则使用 “ - ” 占位
        例如:r-x 表示读和执行的权限;r--表示只读权限;rw-表示读写权限

(5)Linux使用UGO权限模型进行权限控制

U 代表文件所属用户

G 代表文件所属用户组

O 代表所属用户和所属用户组的用户之外的其他用户

(6)ls -l 文件属性信息第一字段后9位代表权限
        9位权限3位1组可以分成3组,分别对应文件的UGO

例如:-rw-rw-r--. 1 wang  g1  0 11月 20 14:35 wangfile

文件的所属用户是wang(U),其权限是rw-

文件的所属用户组是g1(G),其权限是rw-

文件的属主wang和g1组的用户以外的其他用户(O),其权限是r--

(7)规定 4 代表 r ;2 代表 w ;1 代表 x;0 代表 -
这样不同的权限组合可以用1个8进制0到7的数字来表示

文件对应UGO的权限可以用3个数字来表示

例如:-rw-rw-r--. 1 wang  g1   0 11月 20 14:35 wangfile

其权限为: 6 6 4

(8)修改权限使用chmod命令字
提供作用相同的三种方式

1.赋值法:

chmod u=rwx,g=rw,o= filename

chmod a=rwx filename

2.加减法:

chmod u+r,u-x,g+w,g-x,o+r filename

chmod a+x filename

3.权重法:

chmod 755 filename

chmod 664 filename

chmod 777 filename

chmod 000 filename

(9)可以使用-R选项级联修改目录下的所有文件的权限

例如:修改 /u01 下所有目录及文件的权限为750

chmod -R 750 /u01

(10)修改文件的属主和属组使用chown命令字
只能root用户来做

chown [-R] UserName[{:|.}GroupName] FILENAME

           选项-R级联修改目录下的所有文件的属主和属组

例如:修改 /root/install.log 的属主为 zhang ,属组为 g1

          chown zhang:g1 /root/install.log

例如:仅修改 /root/install.log 的属主为root,属组不变

          chown root: /root/install.log

(11)权限对于目录和非目录文件有所区别
创建目录默认权限为755,普通文件为644

 目录至少要有 r 和 x 权限才能正常进入目录

十一、压缩与解压缩命令

1、压缩与解压缩命令 zip unzip
(1)zip 压缩文件或目录

-r 压缩目录

-y 把软链接作为文件压缩,但不压缩软链接所指向的文件

示例:压缩/etc下的所有文件到/tmp下的etc.zip文件中

zip -ry /tmp/etc.zip /etc

(2)unzip解压缩zip压缩的文件

-d 指定解压缩的路径

示例:解压缩/tmp下etc.zip到/root

unzip -d /root /tmp/etc.zip

2、压缩与解压缩命令 gzip gunzip
(1)gzip 压缩文件或目录

-N N为数字1到9,为压缩率,9最高,默认6

-r 压缩目录

默认压缩之后不会保留源文件,源文件变为*.gz格式

示例:压缩/root/install.log文件

gzip /root/install.log

ls /root/install.log*

(2)gunzip解压缩gzip压缩的文件

示例:解压缩/root下install.log.gz

gunzip /root /install.log.gz

3、压缩与解压缩命令 bzip2 bunzip2
(1)bzip2 压缩文件(压缩率比gzip高)

-N N为数字1到9,为压缩率,9最高,默认6

默认压缩之后不会保留源文件,源文件变为*.bz2格式

示例:压缩/root/install.log文件

bzip2 /root/install.log

ls /root/install.log*

(2)bunzip2解压缩bzip2压缩的文件

示例:解压缩/root下install.log.bz2

bunzip2 /root /install.log.bz2

4、归档命令 tar
tar将多个离散文件或目录进行打包为一个普通文件

1.归档

        tar  选项 归档文件名 源文件名或目录

2.释放归档   

        tar  选项 归档文件名 -C 目标目录

3.常用选项

-f    如果使用tar命令,必须要用-f选项,而且要放到最后面
-c    创建新归档
-x    释放归档 extract
-z    使用gzip的方式进行压缩或解压缩
-j    使用bzip2的方式进行压缩或解压缩
-v    归档进度可视化 (verbose)

示例1:将/etc整个目录归档为/tmp/etc.tar文件

             tar -cvf /tmp/etc.tar /etc

示例2:将/etc整个目录归档为/tmp/etc.tar.gz文件,用gzip压缩文件

             tar -zcvf /tmp/etc.tar.gz /etc

示例3:将/etc整个目录归档为/tmp/etc.tar.bz2文件,用bzip2压缩文件

             tar -jcvf /tmp/etc.tar.bz2 /etc

示例4:将归档文件/tmp/etc.tar还原到/root目录下

             tar -xvf /tmp/etc.tar -C /root

示例5:将归档文件/tmp/etc.tar.gz还原到/root目录下

             tar -zxvf /tmp/etc.tar.gz -C /root

示例6:将归档文件/tmp/etc.tar.bz2还原到/root目录下

             tar -jxvf /tmp/etc.tar.bz2 -C /root

十二、链接、网络连接命令

1、链接命令 ln
ln命令用来给文件或目录创建链接文件,类似于windows系统的快捷方式

常用选项
-s    创建软链接
-v    可视化

示例:在/root下为目录/var创建软链接link_var

           ln -sv /var /root/link_var

2、测试网络连通性命令 ping
 ping命令可以用来测试网络的连通性

常用选项
-c    次数
-w    等待秒数,优先级高于-c

示例:测试百度网址的连通性,发生4个ping包

           ping -c 4 www.baidu.com

示例:测试百度网址的连通性,发生4个ping包,2秒后停止ping

           ping -c 4 -w 2 www.baidu.com

十三、vi 编辑器 (最常用)

(1)vi三种模式

1.一般模式(normal mode),默认即为一般模式。

2.插入模式(insert mode)。

3.末行模式(last line mode)。

(2)三种模式的切换:
1.一般模式-->插入模式

i:当前光标处输入内容。

I:在当前光标所在行的行首。

a:在当前光标所在处的后面。

A: 在当前光标所在行的行尾输入。

o:在光标所在行的下方新增一行空白行。

O:在光标所在行的上方新增一行空白行。

2.插入模式-->一般模式

        使用:ESC键

3.一般模式-->末行模式

        使用:“:”(英文状态下)

4.末行模式-->一般模式

        使用:ESC键

(3)退出编辑器
末行模式下,输入下述内容可退出:

1.  q!:强制退出,不保存并退出。

2.  wq:保存修改并退出。

3.  x:保存并退出。

(4)vi操作流程

1.  新建或编辑文件:vi filename

2.  i或insert键,即可进入插入模式。

3.  编辑内容。

4.  ESC键,退出到一般模式。

5.  键入英文“:”进入末行模式,按wq(保存并修改)后回车。

6.  查看编辑内容是否正确:cat filename

(5)拓展
在一般模式下:

d 删除。dd 删除一行

y 复制。yy 复制一行

p 粘贴

x 清除

g 行跳转;gg 行跳转:如10gg,表示跳转到第10行。

/或? 查找

n/N 上下翻

v 可视化模式。可视化模式中,可移动光标选择文本。键入y复制选中文本,键入d删除选中文本,键入v回到一般模式。

u 撤销之前的操作

十四、安装应用程序 rpm

redhat、centos、oracle linux使用rpm命令字安装制作为rpm格式的应用程序

(1)rpm命令安装rpm软件包:rpm -i [选项] 包名
rpm命令安装软件包时常用选项(与选项 -i 结合使用)

-v    显示安装过程中的详细信息
-h    以 # 显示安装进度
-U    升级包(如没安装就安装)
-F    升级包(没安装放弃安装)
--test    测试能否被安装  try run
--nodeps    忽略包之间的依赖关系

 常用安装命令:rpm -ivh 包名1 包名2 ......

 示例:rpm -ivh zsh-4.3.11-4.el6.centos.2.x86_64.rpm

(2)查询RPM包 :rpm  -q[子选项] 包名关键字  
常用子选项

a    已安装的所有软件包
i    查看指定软件的详细信息
l    查询软件包的安装目录
f    查询文件或目录属于哪个程序包安装生成的
p    尚未安装的包做查询操作

示例1:查看所有已安装rpm包

             rpm -qa

示例2:查看所有已安装rpm包中有没有mysql

             rpm -qa | grep mysql

示例3:查看已安装的mysql-libs-5.1.73-7.el6.x86_64包的信息

             rpm -qi mysql-libs-5.1.73-7.el6.x86_64

示例4:查看mysql-libs-5.1.73-7.el6.x86_64包中文件安装位置

             rpm -ql mysql-libs-5.1.73-7.el6.x86_64

示例5:查看/bin/ls和根目录“/”是由哪些包安装的

            rpm -qf /bin/ls

            rpm -qf /

示例6:查看安装光盘中mysql-server-5.1.73-7.el6.x86_64.rpm的信息

     rpm -qip /media/CentOS_6.8_Final/Packages/mysql-server-5.1.73-7.el6.x86_64.rpm

示例7:查看安装光盘中mysql-5.1.73-7.el6.x86_64.rpm的内容

             rpm -qlp /media/CentOS_6.8_Final/Packages/mysql-5.1.73-7.el6.x86_64.rpm

(3)删除RPM包:rpm -e 包名

示例:删除刚刚安装的zsh包

          首先需要获得准确完整的包名:rpm -qa | grep zsh 

           然后删除该包:rpm -e zsh-4.3.11-4.el6.centos.2.x86_64

           再次查询确认:rpm -qa | grep zsh

(4)RPM命令安装软件包存在的问题:rpm包和包存在一定的依赖关系
可能的情况:

安装包A,提示需要先安装包B,安装包B,提示先要先装包C,安装包C,提示需要先装包D.......,导致安装过程漫长不顺利

安装包A,提示需要先安装包B,安装包B,提示先要先装包C,安装包C,提示需要先装包A。最后只能包A、B、C一起安装

以上情况导致rpm安装软件过程复杂繁琐,因而后来推出了yum方式安装软件包,解决了包间相互依赖的问题。推荐使用yum方式安装软件包

十五、安装应用程序 yum

相对于rpm安装方式yum解决rpm包间依赖关系使安装方便和快捷

安装rpm包时仍然使用rpm

(1)yum原理
仓库配置文件:/etc/yum.repos.d/*.repo

        根据*.repo后缀的yum配置文件中指定的RPM包来源构建本地缓存(数据库),包含包间的依赖关系

        安装软件包时检查安装包所依赖的相关包,先安装依赖包,最后再装目标软件包

        注:网络yum源可以考虑使用网速快的yum源,如:aliyun

(2) yum用法
1.选项:

   -y    自动回应 yes 不用手工输入‘Y’
-q    静默模式 不显示包安装进度条等信息

2.安装:yum [选项] install 包1 包2....        

3.卸载:yum [选项] remove 包1 包2....             

4.更新:yum [选项] update 包1 包2....

5.检查更新:yum check-update

6.查看指定特性(可以是文件) 由哪个程序包提供::yum provides */关键字

7.清除缓存:yum clean all

8.构建缓存:yum makecache

9.模糊搜索:yum search 关键字

10.查看指定包依赖的包关系:yum deplist 包1 包2.....

十六、ls的特性

每个文件类型都有自己的颜色。

颜色    文件类型
蓝色   目录
红色    压缩档案
白色    文本文件
粉红色   图片
蓝绿色   链接
黄色    设备
绿色    可执行文件
闪烁的红色   破碎链接


 


原文地址:https://blog.csdn.net/hk000001/article/details/142972614

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!