Linux系统命令大全

Linux,Linux Is Not UniX 的递归缩写,一般指GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个遵循POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。

Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。

Linux具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议站,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。

一、Linux目录结构

目录 内容
/bin bin是Binary的缩写, 这个目录存放着最经常使用的命令,由系统、系统管理员和用户共享
/boot 这里存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件
/dev dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的
/etc 大多数重要的系统配置文件都在/etc目录下,该目录包含的数据类似于Windows控制面板中的数据
/home 普通用户的家目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
/lib 库文件,包括系统和用户所需要的各种程序的文件
/lost+found 每个分区在其上目录中都有一个lost+found。故障期间保存的文件在这里
/media linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
/mnt 外部文件系统的标准挂载点,例如CD-ROM(光驱)或数码相机
/opt 通常包含额外的和第三方软件。这是给主机额外安装的大型应用程序所放置的目录
/proc 包含有关系统资源信息的虚拟文件系统。这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件
/root 该目录为系统管理员,也称作超级权限者的用户家目录。注意根目录 / 和根用户的主目录 /root 之间的区别
/sbin s就是Super User的意思,这里存放的是系统管理员root使用的系统管理程序
/tmp 系统使用的临时空间,在重新启动时清理,所以不要使用它来保存任何工作!该目录对于所有用户都可以访问,不要把重要文件放置于该目录
/usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录
/var 用户创建的所有可变文件和临时文件的存储空间,如日志文件(一般是/var/log)、邮件队列、打印假脱机程序区、从Internet下载的文件的临时存储空间,或在刻录CD之前保存它的映像。

二、Linux基本命令操作

1.目录操作命令

cd:切换到另一个目录,可以是绝对路径,也可以是相对路径

  • cd /home:进入 ‘/home’ 目录
  • cd ..:返回上一级目录
  • cd ../..:返回上两级目录
  • cd /: 返回根目录
  • cd -: 返回上次所在的目录
  • cd~:切换到当前用户的主目录。

pwd:打印当前所在目录 (print working directory)

ls:列出目录内容

  • ls -l: 列出的文件以长格式输出,一个文件显示一行(可简写为ll)
  • ls -a: 显示以 “.”开头的文件,“.”开头的为隐藏文件,默认不显示
  • ls -h:将文件大小以人类可读的格式显示(如K、M、G)。
  • ls -d: 显示目录本身而不显示目录下的文件,默认ls 后面的参数如果是目录,则会显示目录下的文件,如:ls /root
  • ls -lh: 长格式输出的文件字节数转换为K,M,G的形式方便人来阅读
  • ls -t: 列出的文件按照修改时间的晚和早排序(最近修改的先显示)
  • ls -tr: 列出的文件按照修改时间的早和晚排序(最近修改的后显示)
  • ls -R: 列出当前目录下的所有文件,如果有目录遍历所有目录及其子目录下的文件
  • ls -lSr:查看⽂件和⽬录列表(以⽂件⼤⼩升序查看)
  • tree查看⽂件和⽬录的树形结构 (如果没有需要先安装 yum install tree)
  • ls -al /proc/pid/exe:通过pid查询程序正在运行的路径

ls -l 长格式输出字段说明

以 -rw-r--r--. 1 root root 46478 8月13 2018 install.log 为例

第一字段第一位:

-rw-r--r--. 1 root root 46478 8月13 2018 install.log

第一位代表文件类型:

1.“-”:代表普通文件

2.“d”:代表目录

3.“l”:链接文件(符号链接;小写的L)或软链接

4.“c”:字符设备文件

5.“b”:块设备文件

6.“s”:套接字文件

7.“p”:命名管道文件

第一字段后9位:

-rw-r--r--. 1 root root 46478 8月13 2018 install.log

代表相关用户、组、其他用户的权限

第二字段:

-rw-r--r--. 1 root root 46478 8月 13 2018 install.log

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

dr-xr-xr-x. 25 root root 4096 8月 13 2018 /

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

第三字段:

-rw-r--r--. 1 root root 46478 8月 13 2018 install.log

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

第四字段:

-rw-r--r--. 1 root root 46478 8月13 2018 install.log

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

第五字段:

-rw-r--r--. 1 root root 46478 8月 13 2018 install.log

文件的字节数(大小)

第六字段:

-rw-r--r--. 1 root root 46478 8月 13 2018 install.log

文件最近一次的修改日期

第七字段:

-rw-r--r--. 1 root root 46478 8月 13 2018 install.log

文件名称

Linux绝对路径和相对路径

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

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

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

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

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

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

  • mkdir <目录名> 创建目录
  • mkdir dir1 dir2 同时创建两个目录
  • mkdir -p /tmp/dir1/dir2 递归创建目录树
  • mkdir -p /home/user/documents/newdir:递归创建目录

rm - :删除文件或目录

常用参数:

  • -r:递归删除目录及其内容。
  • -f:强制删除文件或目录,不提示确认。
  • -i:删除前提示确认。

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

  • rm -f file1 删除’file1’⽂件
  • rmdir dir1 删除’dir1’⽬录
  • rm -rf dir1 删除’dir1’⽬录和其内容
  • rm -rf dir1 dir2 同时删除两个⽬录及其内容

du:显示目录或文件的磁盘空间使用情况。

du 常用选项

  • -h:以人类可读的格式显示,转换字节数为K、M、G的形式,便于阅读
  • -s:只显示所有文件字节数总数,显示总计大小。
  • -c:显示各目录或文件的总计。

通常用法:du -sh

 2.文件操作命令

which:

which 后面的命令字在磁盘的什么位置

例如:which cd、which ls、which date

touch:

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

例如:/root目录下创建aaa、bbb、ccc三个空文件

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

cp:

1、cp 复制文件

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

cp /root/install.log /tmp

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

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

2、cp 复制目录

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

cp -R /root /tmp

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

cp -R /root /tmp/abc

-a 将文件的特性一起复制
-p 连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
-i 若目标文件已经存在时,在覆盖时会先询问操作的进行
-r 递归持续复制,用于目录的复制行为
-u 目标文件与源文件有差异时才会复制

-v:显示正在复制的文件,显示复制过程。

-cp dir/* . 复制某目录下的所有文件至当前目录
cp -a dir1 dir2 复制目录
cp -a /temp/dir1 . 复制一个目录至当前目录

 mv:

1、mv 移动或重命名文件或目录

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

mv /root/install.log.bak /tmp

2、mv 给文件或目录改名

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

mv /tmp/root /tmp/root1

-f force强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i 若目标文件已经存在,就会询问是否覆盖

-u 若目标文件已经存在,且比目标文件新,才会更新

mv old_dir new_dir 重命名/移动⽬录

 rm:

1、rm 删除文件

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

rm /root/install.log.bak

2、rm 删除目录 (root用户操作一定要小心)

例如:给/tmp下的root1目录

rm -rf /tmp/root1

常用选项:

-r 级联删除目录下的所有文件,递归删除,最常用于目录删除,它是一个非常危险的参数

-f 就是force的意思,忽略不存在的文件,不会出现警告消息

-i :互动模式,在删除前会询问用户是否操作

file:

file 查看文件的类型

3.查看登录用户命名

who:当前用户登录的信息,显示当前登录系统的用户

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

who am i:显示登陆时的用户名

whoami:显示当前用户名,显示当前用户的用户名

4.文件内容查看命令

cat:

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

-n:显示行号。

cat filename | head -n 3000 | tail -n +1000 显示1000行到3000行

cat filename | tail -n +3000 | head -n 1000 从第3000行开始,显示1000(即显示3000~3999行)

tac:

查看文本文件内容,倒序输出,从最后一行开始反向查看一个文件的内容,按照行号倒序打印文本文件的内容

more:

查看一个长文件的内容,分页显示文件内容,例如:more /root/install.log

默认显示进度百分比

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

less:

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

选项 -m 显示进度百分比

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

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

tail:

查看文件的最后几行内容,默认显示最后10行。查看文件尾部10行,例如:tail /root/install.log

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

tail -f /log/msg 实时查看添加到⽂件中的内容

tail -n 2 file1 查看一个文件的最后两行

tail -n +1000 file1 从1000行开始显示,显示1000行以后的

-n:指定显示的行数。

-f:持续监视文件内容的变化,特别适合用于查看实时日志文件的更新。

head:

查看文件的前几行内容,默认显示前10行。查看文件头部10行,例如:head /root/install.log

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

head -n 2 file1 查看一个文件的前两行

-n:指定显示的行数。

 5.系统管理类命令

shutdown:

关机命令

shutdown -h now 立刻关机

shutdown -h +10 "10分钟后关机",每个登录用户收到“10分钟后关机”的消息,并于10分钟后关机

shutdown -h 10 10分钟后关机

shutdown -c 取消关机

shutdown -h 11:00 11:00 关机
shutdown -f now 重启
shutdown -r 10 10分钟后重启
shutdown -r 11:00 定时重启

reboot:重启系统

lscpu:查看系统cpu信息

6.日期时间管理类命令

date:

打印操作系统时钟,显示系统时间

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

clock:

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

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

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

三、bash通配符介绍

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

列出a开头的所有文件

ls a*

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

ls a??

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

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

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

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

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

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

拓展:Bash中的组合键

 

键或组合键 功能
Ctrl+A 将光标移动到命令行开头
Ctrl+C 结束正在运行的程序并返回提示符
Ctrl+D 退出当前shell会话,相当于键入exit或logout
Ctrl+E 将光标移动到命令行末尾
Ctrl+H Generate backspace character
Ctrl+L Clear this terminal
Ctrl+R 查询命令历史记录
Ctrl+Z 暂停一个程序
ArrowLeft and ArrowRight 将光标在命令行上向左或向右移动一个位置,这样就可以在其他位置插入字符,而不仅仅是在开头和结尾
ArrowUp and ArrowDown 浏览历史。转到要重复的行,如果需要编辑详细信息,按Enter键以节省时间
Shift+PageUp and Shift+PageDown 浏览终端缓冲区(查看已“滚屏”的文本)
Tab 命令或文件名补全;当有多种选择时,系统会发出声音或视觉铃声,如果选择太多,则会询问你是否都想看
Tab Tab 显示文件或命令补全的可能性

四、用户和权限管理

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

 1.用户组

(1)存放文件:/etc/group

文件中一个组一行记录

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

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

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

第一字段:组名

第二字段:组密码位

第三字段:gid 组编号

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

新建用户组 groupadd grpname

例如:

groupadd g1

cat /etc/group

删除用户组 groupdel grpname

例如:

groupdel g1

cat /etc/group

查看系统所有组:

cut -d: -f1 /etc/group

修改用户的组:
usermod -g group_name user_name
将用户添加到组:
usermod -aG group_name user_name
修改用户 ss 的登录 Shell、主目录及用户组:
usermod -s /bin/ksh -d /home/codepig –g dev ss
查看 ss 用户所在的组:
groups ss

2.用户

(1)存放文件:/etc/passwd
文件中一个用户一行记录

(2)用户文件格式,共7个字段
第一字段:用户名

第二字段:用户密码位

第三字段:uid 用户编号

第四字段:gid 主组编号

第五字段:用户备注信息

第六字段:家目录位置

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

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

创建用户 useradd ss

查看所用系统用户 cut -d: -f1 /etc/passwd

删除用户 userdel -r ss

 修改用户的组
usermod -g group_name user_name
 将用户添加到组
usermod -aG group_name user_name
 修改用户 ss 的登录 Shell、主目录及用户组
usermod -s /bin/ksh -d /home/codepig –g dev ss
查看 ss 用户所在的组
groups ss
 切换到另一个用户环境
su user_name

3.用户类型

(1)超级用户root 权限特别大
uid=0,gid=0 生产环境建议不要使用

(2)普通用户
uid>=500 一般权限系统管理,权限有限

(3)程序用户
1<=uid<500 仅仅使用系统服务资源,不能登录系统

(4)判定程序用户能否登录到操作系统
不能登录:shell为/sbin/nologin

可以登录:shell为/bin/bash

4.添加用户

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 [-u UID] [-g GID] [-d HOME] [-s] [-l] 用户名

-l 选项修改用户名

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

 7.删除用户

userdel [-r] 用户名

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

8.切换用户

su - 用户名

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

9.给用户设置登录密码

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

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

10.密码文件

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

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

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

字段说明:

用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

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 权限才能正常进入目录

chmod 命令:

-R:递归更改目录及其内容的权限。

ls -lh 显示当前目录所有文件的权限
chmod 777 文件名 修改文件权限(最高权限)
chmod ugo+rwx dir 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r,4 )、写(w,2)和执行(x,1)的权限
chmod go-rwx dir1 删除群组(g)与其他人(o)对目录的读写执行权限
chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod u-s /bin/file1` 禁用一个二进制文件的 SUID位
chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod g-s /home/public 禁用一个目录的 SGID 位
chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chmod o-t /home/public 禁用一个目录的 STIKY 位
chmod +x 文件路径 为所有者、所属组和其他用户添加执行的权限
chmod -x 文件路径 为所有者、所属组和其他用户删除执行的权限
chmod u+x 文件路径 为所有者添加执行的权限
chmod g+x 文件路径 为所属组添加执行的权限
chmod o+x 文件路径 为其他用户添加执行的权限
chmod ug+x 文件路径 为所有者、所属组添加执行的权限
chmod =wx 文件路径 为所有者、所属组和其他用户添加写、执行的权限,取消读权限
chmod ug=wx 文件路径 为所有者、所属组添加写、执行的权限,取消读权限

五、压缩与解压缩命令

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)

-c :新建打包文件
-t :查看打包文件的内容含有哪些文件名
-x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录,注意-c,-t,-x不能同时出现在同一条命令中
-j :通过bzip2的支持进行压缩/解压缩
-z :通过gzip的支持进行压缩/解压缩
-v :在压缩/解压缩过程中,将正在处理的文件名显示出来
-f filename :filename为要处理的文件
-C dir :指定压缩/解压缩的目录dir
压缩:tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称
查询:tar -jtv -f filename.tar.bz2
解压:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
bunzip2 file1.bz2 解压一个叫做 'file1.bz2’的文件
bzip2 file1 压缩一个叫做 ‘file1’ 的文件
gunzip file1.gz 解压一个叫做 'file1.gz’的文件
gzip file1 压缩一个叫做 'file1’的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 创建一个叫做 ‘file1.rar’ 的包
rar a file1.rar file1 file2 dir1 同时压缩 ‘file1’, ‘file2’ 以及目录 ‘dir1’
rar x file1.rar 解压rar包
zip file1.zip file1 创建一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包

示例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

5.链接命令 ln

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

-s:创建符号链接(软链接)

-v:可视化

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

           ln -sv /var /root/link_var

ln -s file1 link1: 创建指向⽂件/⽬录的软链接

ln file1 lnk1: 创建指向⽂件/⽬录的物理链接

创建文件 file1.txt 的硬链接 link1 ln file1.txt link1

创建文件 file1.txt 的符号链接 link2 ln -s file1.txt link2

6.测试网络连通性命令 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

 7.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 撤销之前的操作

 

x,X : 在一行中,x为向后删除一个字符(相当于del键),X为向前删除一个字符(相当于backspace键)

dd : 删除光标所在的那一整行

ndd : n 为数字。从光标开始,删除向下n列

yy : 复制光标所在的那一行

nyy : n为数字。复制光标所在的向下n行

p,P : p 为将已复制的数据粘贴到光标的下一行,P则为贴在光标的上一行

u : 复原前一个操作

CTRL + r : 重做上一个操作

小数点 ‘.’:重复前一个动作

:set number :在每一行设置行标号

:n1,n2 m n3 移动n1-n2行(包括n1,n2)到n3行之下

:n1,n2 co n3 复制n1-n2行(包括n1,n2)到n3行之下

:n1,n2 d 删除n1-n2行(包括n1,n2)行

8.安装应用程序 rpm

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

(1)rpm命令安装rpm软件包:rpm -i [选项] 包名

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方式安装软件包

9.安装应用程序 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的特性--->文件类型

在大多数Linux版本中,ls默认别名为color-ls。该特性允许查看文件类型,而无需使用ls的任何选项。为了实现这一点,每个文件类型都有自己的颜色。

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

在早期,同样的信息是使用后缀显示在每个非标准的文件名。对于单色使用(如打印目录列表)和一般可读性,这个方案仍然在使用:

ls的默认后缀方案
符号 文件类型
nothing 普通文件
/ 目录
* 可执行文件
@ 链接
= socket(套接字)
| named pipe(命名管道)

参考链接:

https://blog.csdn.net/m0_62808124/article/details/127540625

https://blog.csdn.net/qq_43108153/article/details/136230423

https://developer.aliyun.com/article/1622464

posted @ 2025-03-06 17:19  消逝的风i  阅读(140)  评论(0)    收藏  举报