您的位置:首页 > 教育 > 培训 > omega欧米茄手表官网_企业网站建设业务报价单_公司网站设计模板_厦门网站流量优化价格

omega欧米茄手表官网_企业网站建设业务报价单_公司网站设计模板_厦门网站流量优化价格

2025/4/18 15:36:32 来源:https://blog.csdn.net/xiaoyang01234/article/details/147249348  浏览:    关键词:omega欧米茄手表官网_企业网站建设业务报价单_公司网站设计模板_厦门网站流量优化价格
omega欧米茄手表官网_企业网站建设业务报价单_公司网站设计模板_厦门网站流量优化价格

基本命令

命令入门

命令提示符详解

[root@localhost ~]#     #/root
[gtjin@localhost ~]$     #/home/gtjin
[root@node1 ~]#     #/root

用户名@主机名 当前目录 #系统权限 $普通用户

命令格式

命令 [选项] [参数](三者之间要有空格,区分大小写)

command [-options] [args]

[  args  ]:参数(多个参数之间用空格分隔)

案例演示

[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# ls -a
.   anaconda-ks.cfg  .bash_logout   .bashrc  .config  .tcshrc
..  .bash_history    .bash_profile  .cache   .cshrc   .viminfo
[root@localhost ~]# ls -a -l
total 28
dr-xr-x---.  4 root root  180 Apr 14 20:51 .
dr-xr-xr-x. 17 root root  224 Apr 14 11:35 ..
-rw-------.  1 root root 1291 Apr  8 21:14 anaconda-ks.cfg
-rw-------.  1 root root  160 Apr 14 20:51 .bash_history
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
drwxr-xr-x.  3 root root   18 Apr  8 21:18 .cache
drwxr-xr-x.  3 root root   18 Apr  8 21:18 .config
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc
-rw-------.  1 root root    0 Apr 14 20:51 .viminfo
[root@localhost ~]# ls -al
total 28
dr-xr-x---.  4 root root  180 Apr 14 20:51 .
dr-xr-xr-x. 17 root root  224 Apr 14 11:35 ..
-rw-------.  1 root root 1291 Apr  8 21:14 anaconda-ks.cfg
-rw-------.  1 root root  160 Apr 14 20:51 .bash_history
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
drwxr-xr-x.  3 root root   18 Apr  8 21:18 .cache
drwxr-xr-x.  3 root root   18 Apr  8 21:18 .config
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc
-rw-------.  1 root root    0 Apr 14 20:51 .viminfo
[root@localhost ~]# ls -al .bash*
-rw-------. 1 root root 160 Apr 14 20:51 .bash_history
-rw-r--r--. 1 root root  18 Dec 29  2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29  2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29  2013 .bashrc
[root@localhost ~]# ls -al /bin/*grep
-rwxr-xr-x. 1 root root   1677 Nov 20  2015 /bin/bzgrep
-rwxr-xr-x. 1 root root    290 Aug  3  2017 /bin/egrep
-rwxr-xr-x. 1 root root    290 Aug  3  2017 /bin/fgrep
-rwxr-xr-x. 1 root root 159024 Aug  3  2017 /bin/grep
-rwxr-xr-x. 1 root root  36832 Apr  1  2020 /bin/msggrep
-rwxr-xr-x. 1 root root  28336 Oct  1  2020 /bin/pgrep
lrwxrwxrwx. 1 root root      6 Apr  8 21:10 /bin/xzegrep -> xzgrep
lrwxrwxrwx. 1 root root      6 Apr  8 21:10 /bin/xzfgrep -> xzgrep
-rwxr-xr-x. 1 root root   5628 Nov  5  2016 /bin/xzgrep
-rwxr-xr-x. 1 root root    123 Apr 11  2018 /bin/zegrep
-rwxr-xr-x. 1 root root    123 Apr 11  2018 /bin/zfgrep
-rwxr-xr-x. 1 root root   6132 Apr 11  2018 /bin/zgrep
-rwxr-xr-x. 1 root root   2953 Oct 11  2008 /bin/zipgrep
[root@localhost ~]# ls -al /bin/*class*
-rwxr-xr-x. 2 root root 11976 Aug  4  2017 /bin/nl-class-add
-rwxr-xr-x. 2 root root 11824 Aug  4  2017 /bin/nl-class-delete
-rwxr-xr-x. 2 root root 11560 Aug  4  2017 /bin/nl-classid-lookup
-rwxr-xr-x. 2 root root 11752 Aug  4  2017 /bin/nl-class-list
ls 的作用
  • 列出目录内容ls 命令用于显示指定目录中的文件和子目录列表。如果没有指定目录,默认显示当前工作目录的内容。

  • 显示文件信息:除了列出文件名,ls 还可以配合不同的参数显示文件的详细信息,如文件类型、权限、所有者、大小、修改时间等。

-a 参数
  • 作用-a 参数表示列出所有文件和目录,包括隐藏文件(以点 . 开头的文件和目录)。

  • 示例:在 Linux 系统中,许多配置文件和系统文件是以点开头的隐藏文件,例如 ~/.bashrc~/.config 等。使用 ls -a 可以将这些隐藏文件也显示出来。

-l 参数
  • 作用-l 参数用于以长格式列出文件和目录的详细信息。长格式包括以下内容:

    • 权限:文件或目录的访问权限(如 -rwxr-xr-x)。

    • 链接数:硬链接的数量。

    • 所有者:文件或目录的所有者用户名。

    • 所属组:文件或目录所属的用户组。

    • 大小:文件的大小(以字节为单位)。

    • 修改时间:文件或目录的最后修改时间。

    • 文件名:文件或目录的名称。

获取命令的帮助

查手册

man命令

命令 --help

搜索引擎

命令 --help

在这里可以查看相关的介绍

echo

[root@localhost ~]# echo "hello world"
hello world
[root@localhost ~]# echo -n "hello world"
hello world[root@localhost ~]# 
[root@localhost ~]# echo -3 "hello \nworld"
-3 hello \nworld
[root@localhost ~]# echo -e "hello \nworld"
hello 
world
[root@localhost ~]# echo "hello \nworld"
hello \nworld
[root@localhost ~]#

环境变量:PATH

在当shell中执行命令的时候,默认到PATH指定的路径中查找可执行文件。

如果在PATH中的多个目录都包含该可执行文件,则执行最先找到的。

[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

如果找不到,则提示命令不识别

ls

ls命令用于列出目录内容

ls

添加-l 以长格式输出,列出根目录下内容的详细列表

ls -l

也可以后面跟多个目录,列出多个目录的内容

ls / /usr

也可以通过命令的别名列出详细列表

[root@localhost /]# ll
total 20
lrwxrwxrwx.   1 root root    7 Apr  8 21:09 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Apr  8 21:14 boot
drwxr-xr-x.  20 root root 3240 Apr 15 10:46 dev
drwxr-xr-x.  84 root root 8192 Apr 15 10:46 etc
drwxr-xr-x.   4 root root   33 Apr 14 18:02 home
lrwxrwxrwx.   1 root root    7 Apr  8 21:09 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Apr  8 21:09 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Apr 11  2018 media
drwxr-xr-x.   2 root root    6 Apr 11  2018 mnt
drwxr-xr-x.   3 root root   16 Apr  8 21:10 opt
dr-xr-xr-x. 143 root root    0 Apr 15 10:46 proc
dr-xr-x---.   4 root root  180 Apr 14 20:51 root
drwxr-xr-x.  28 root root  840 Apr 15 10:46 run
lrwxrwxrwx.   1 root root    8 Apr  8 21:09 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Apr 11  2018 srv
dr-xr-xr-x.  13 root root    0 Apr 15 10:46 sys
drwxrwxrwt.  12 root root 4096 Apr 15 11:10 tmp
drwxr-xr-x.  13 root root  155 Apr  8 21:09 usr
drwxr-xr-x.  20 root root  282 Apr  8 21:15 var
ll
ls -a
ls -a -l
ls -al

pwd

打印当前工作目录路径

[root@localhost /]# cd home
[root@localhost home]# ll
total 0
drwx------. 4 laoyang laoyang 142 Apr 14 16:30 laoyang
drwxr-xr-x. 2 root    root     20 Apr 14 20:51 test
[root@localhost home]# pwd
/home

cd

cd用于更改shell工作目录,也就是切换目录 change directory

#如果cd后什么都不写,表示直接回当前用户家目录
cd 
cd /etc
#cd后跟波浪线,也表示回用户家目录
cd ~
#cd后也可以跟减号(-)用以表示回到最后一次切换之前的目录,多次使用减号在最近两个目录之间切换
cd /etc/sysconfig/network-scritps
cd  -
#root用户可以直接通过绝对路径进到普通用户的家目录
cd /home/god
cd ..
ll
#也可以直接跟波浪线用户名表示直接进入到某个用户的家目录
cd ~bjsxt 到用户bjsxt家中去,root不受限制
[root@localhost home]# cd 
[root@localhost ~]# cd ..
[root@localhost /]# cd /etc
[root@localhost etc]# cd /etc/sysconfig/network-scritps
-bash: cd: /etc/sysconfig/network-scritps: No such file or directory
[root@localhost etc]# cd /home/god
-bash: cd: /home/god: No such file or directory
[root@localhost etc]# cd ..
[root@localhost /]# ll
total 20
lrwxrwxrwx.   1 root root    7 Apr  8 21:09 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Apr  8 21:14 boot
drwxr-xr-x.  20 root root 3240 Apr 15 10:46 dev
drwxr-xr-x.  84 root root 8192 Apr 15 10:46 etc
drwxr-xr-x.   4 root root   33 Apr 14 18:02 home
lrwxrwxrwx.   1 root root    7 Apr  8 21:09 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Apr  8 21:09 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Apr 11  2018 media
drwxr-xr-x.   2 root root    6 Apr 11  2018 mnt
drwxr-xr-x.   3 root root   16 Apr  8 21:10 opt
dr-xr-xr-x. 143 root root    0 Apr 15 10:46 proc
dr-xr-x---.   4 root root  180 Apr 14 20:51 root
drwxr-xr-x.  28 root root  840 Apr 15 10:46 run
lrwxrwxrwx.   1 root root    8 Apr  8 21:09 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Apr 11  2018 srv
dr-xr-xr-x.  13 root root    0 Apr 15 10:46 sys
drwxrwxrwt.  12 root root 4096 Apr 15 11:10 tmp
drwxr-xr-x.  13 root root  155 Apr  8 21:09 usr
drwxr-xr-x.  20 root root  282 Apr  8 21:15 var
[root@localhost /]# cd ~laoyang
[root@localhost laoyang]#

mkdir

mkdir用于创建目录

mkdir abc
mkdir  a1  a2  a3
#如果直接创建多层目录,则报错,因为默认只能创建最后一级目录
mkdir a/b/c
#可以添加-p选项,用以创建多层目录,因为系统发现某一级目录不存在的时候创建父目录
mkdir -p a/b/c
#也可以在mkdir后跟多个目录,用于一次性创建多个目录
mkdir  ./abc/1dir ./abc/2dir ./abc/3dir
#但是可以使用大括号高效创建相似的目录
mkdir ./abc/{x,y,z}dir 
mkdir abc/{a..c}dir
[root@localhost /]# cd home
[root@localhost home]# cd laoyang
[root@localhost laoyang]# mkdir ./abc/{x,y,z}dir
mkdir: cannot create directory ‘./abc/xdir’: No such file or directory
mkdir: cannot create directory ‘./abc/ydir’: No such file or directory
mkdir: cannot create directory ‘./abc/zdir’: No such file or directory
[root@localhost laoyang]# mkdir -p ./abc/{x,y,z}dir
[root@localhost laoyang]# ll
total 4
drwxr-xr-x. 5 root root 42 Apr 15 15:05 abc
-rwxr-xr--. 1 root java 18 Apr 14 16:30 a.info
[root@localhost laoyang]# cd abc
[root@localhost abc]# ll
total 0
drwxr-xr-x. 2 root root 6 Apr 15 15:05 xdir
drwxr-xr-x. 2 root root 6 Apr 15 15:05 ydir
drwxr-xr-x. 2 root root 6 Apr 15 15:05 zdir
[root@localhost abc]# cd xdir
[root@localhost xdir]# ll
total 0

cp

cp 文件... 目标目录

拷贝文件...到目标目录,可以同时拷贝多个文件,文件名之间用空格隔开

[root@node1 ~]# ls
anaconda-ks.cfg  test
[root@node1 ~]# ls test/
a  a1  a2  a3  abc
[root@node1 ~]# cp anaconda-ks.cfg test/abc/
[root@node1 ~]# ls test/abc/
1dir  2dir  3dir  adir  anaconda-ks.cfg  bdir  cdir  xdir  ydir  zdir
[root@node1 ~]# cd test/abc/xdir/
[root@node1 xdir]# pwd
/root/test/abc/xdir
[root@node1 xdir]# ls
#太麻烦了
[root@node1 xdir]# cp /root/anaconda-ks.cfg /root/test/abc/xdir/ 
[root@node1 xdir]# ls
anaconda-ks.cfg
#简化版
[root@node1 xdir]# cp ~/anaconda-ks.cfg .  
cp:是否覆盖"./anaconda-ks.cfg"? y
[root@node1 xdir]# 
[root@localhost ~]# cp home/test/abc/a.info home/laoyang
cp: cannot stat ‘home/test/abc/a.info’: No such file or directory
[root@localhost ~]# cp /home/test/abc/a.info /home/laoyang
cp: overwrite ‘/home/laoyang/a.info’? y
[root@localhost ~]# cd /home/laoyang
[root@localhost laoyang]# ll
total 4
drwxr-xr-x. 5 root root 42 Apr 15 15:05 abc
-rwxr-xr--. 1 root java 71 Apr 15 15:11 a.info
[root@localhost laoyang]# cat a.info
lksdfkjalsdjl
ldkajlsjdflajd
lajsdlfk
lksdflkja
kljla;sdlkfj
ljslfdja:

cp -r 目录 目标目录

拷贝目录到目标目录

[root@node1 test]# mkdir xyz
[root@node1 test]# ls
a  a1  a2  a3  abc  xyz
[root@node1 test]# cp abc xyz/
cp: 略过目录"abc"
[root@node1 test]# cp -r abc xyz/
[root@node1 test]# ls
a  a1  a2  a3  abc  xyz
[root@node1 test]# ls xyz
abc
[root@node1 test]# ls -R xyz/
xyz/:
abc
xyz/abc:
1dir  2dir  3dir  adir  anaconda-ks.cfg  bdir  cdir  xdir  ydir  zdir
xyz/abc/1dir:
xyz/abc/2dir:
xyz/abc/3dir:
xyz/abc/adir:
xyz/abc/bdir:
xyz/abc/cdir:
xyz/abc/xdir:
anaconda-ks.cfg
xyz/abc/ydir:
xyz/abc/zdir:

mv

mv用于移动或重命名文件

移动文件/目录

#mv 源文件/[源文件1 源文件2] 目标目录

[root@node1 test]# ls
a  a1  a2  a3  abc  xyz
[root@node1 test]# cd abc/
[root@node1 abc]# ls
1dir  2dir  3dir  adir  anaconda-ks.cfg  bdir  cdir  xdir  ydir  zdir
[root@node1 abc]# mkdir -p x/y/z
[root@node1 abc]# ls
1dir  2dir  3dir  adir  anaconda-ks.cfg  bdir  cdir  x  xdir  ydir  zdir
[root@node1 abc]# mv anaconda-ks.cfg x/y/
[root@node1 abc]# ls x/y/
anaconda-ks.cfg  z
[root@node1 abc]# ls
1dir  2dir  3dir  adir  bdir  cdir  x  xdir  ydir  zdir
[root@node1 abc]# mv x /root/
[root@node1 abc]# ls
1dir  2dir  3dir  adir  bdir  cdir  xdir  ydir  zdir
[root@node1 abc]# cd /root/
[root@node1 ~]# ls
anaconda-ks.cfg  test  x
[root@node1 ~]# ls -R x/
x/:
yx/y:
anaconda-ks.cfg  zx/y/z:

Linux中没有专门改名的命令,mv兼职改名工作:

[root@node1 ~]# cd test/
[root@node1 test]# ls
a  a1  a2  a3  abc  xyz
#修改目录名称  mv 旧名称  新名称
[root@node1 test]# mv a3 ao3
[root@node1 test]# ls
a  a1  a2  abc  ao3  xyz
[root@node1 test]# cp ~/anaconda-ks.cfg .
[root@node1 test]# ls
a  a1  a2  abc  anaconda-ks.cfg  ao3  xyz
#修改文件
[root@node1 test]# mv anaconda-ks.cfg ks.cfg
[root@node1 test]# ls
a  a1  a2  abc  ao3  ks.cfg  xyz
[root@localhost abc]# cp /home/laoyang/a.info .
cp: overwrite ‘./a.info’? y
[root@localhost abc]# ll
total 4
-rw-r--r--. 1 root root 71 Apr 15 15:23 a.info
drwxr-xr-x. 2 root root  6 Apr 15 15:09 xdir
drwxr-xr-x. 2 root root  6 Apr 15 15:09 ydir
drwxr-xr-x. 2 root root  6 Apr 15 15:09 zdir

ln

用于创建硬链接或软链接

ln

可以使用ll -i选项让ll答应文件的inode信息

[root@node1 ~]# cp /etc/profile ./
[root@node1 ~]# ll –i

创建硬链接,硬链接在删除原文件的时候,硬链接还是能打开删除的文件

[root@node1 ~]# ln profile  ln1

创建软链接:让ln2纸箱profile,给profile创建软连接,相当于windows中的快捷方式,软连接不一样,在删除原文件后,软连接不能够打开源文件

[root@node1 ~]# ln -s profile ln2
#再次打印inode信息查看
[root@node1 ~]# ll -i

如果两个文件inode一样,表示两个文件(ln1和profile)实际上是同一个文件,硬连接。如果inode不一样,但是有ln2->profile,表示ln2是profile的软链接。

注意:ln1、ln2都不能提前创建,或是已经存在的文件,否则报错。

rm

rm用于删除文件

直接删除,需要确认yes

rm file

添加-f选项可以不用确认强制删除

[root@localhost ~]# ls
anaconda-ks.cfg  ln1  ln2  profile
[root@localhost ~]# rm profile
rm: remove regular file ‘profile’? y
[root@localhost ~]# ls
anaconda-ks.cfg  ln1  ln2
[root@localhost ~]# vim a.info
[root@localhost ~]# rm -f a.info
[root@localhost ~]# ll
total 8
-rw-------. 1 root root 1291 Apr  8 21:14 anaconda-ks.cfg
-rw-r--r--. 1 root root 1819 Apr 15 15:24 ln1
lrwxrwxrwx. 1 root root    7 Apr 15 15:27 ln2 -> profile

如果rm的参数是目录,则会提示需要迭代删除而不能成功

rm adir
[root@node1 ~]# ls
ln1  test  x
[root@node1 ~]# rm x
rm: 无法删除"x": 是一个目录
#此时可以添加-r参数表示迭代删除
[root@node1 ~]# rm -r x
rm:是否进入目录"x"? y
rm:是否进入目录"x/y"? y
rm:是否删除目录 "x/y/z"?y
rm:是否删除普通文件 "x/y/anaconda-ks.cfg"?n      
rm:是否删除目录 "x/y"?n
rm:是否删除目录 "x"?n
[root@node1 ~]# ls
ln1  test  x
#也可以使用-rf选项,迭代强制删除某个文件或目录,此命令慎用。尤其是rm -rf /
[root@node1 ~]# rm -rf x
[root@node1 ~]# ls
ln1  test
[root@localhost ~]# mkdir x
[root@localhost ~]# cd x
[root@localhost x]# mkdir y
[root@localhost x]# cd y
[root@localhost y]# mkdir z
[root@localhost y]# ll
total 0
drwxr-xr-x. 2 root root 6 Apr 15 15:36 z
[root@localhost y]# cd ~
[root@localhost ~]# rm -r x
rm: descend into directory ‘x’? y
rm: descend into directory ‘x/y’? y
rm: remove directory ‘x/y/z’? y
rm: remove directory ‘x/y’? y
rm: remove directory ‘x’? y
[root@localhost ~]# ls
anaconda-ks.cfg  ln1
[root@localhost ~]# mkdir x
[root@localhost ~]# cd x
[root@localhost x]# mkdir y
[root@localhost x]# cd y
[root@localhost y]# mkdir z
[root@localhost y]# cd z
[root@localhost z]# mkdir q
[root@localhost z]# cd~
-bash: cd~: command not found
[root@localhost z]# cd ~
[root@localhost ~]# rm -rf x
[root@localhost ~]# ls
anaconda-ks.cfg  ln1

文件系统命令

虚拟目录树

虚拟目录树的各个目录用途

目录用途
/虚拟目录的根目录。通常不会在这里存储文件
/bin二进制目录,存放许多用户级的GNU工具
/boot启动目录,存放启动文件
/dev设备目录,Linux在这里创建设备节点
/etc系统配置文件目录
/home主目录,Linux在这里创建用户目录
/lib库目录,存放系统和应用程序的库文件
/media媒体目录,可移动媒体设备的常用挂载点
/mnt挂载目录,另一个可移动媒体设备的常用挂载点
/opt可选目录,常用于存放第三方软件包和数据文件
/proc进程目录,存放现有硬件及当前继承的相关信息
/rootroot用户的主目录
/sbin系统二进制目录,存放许多GNU管理员级工具
/srv服务目录,存放本地服务的相关文件
/sys系统目录,存放系统硬件信息的相关文件
/tmp临时目录,可以在该目录中创建和删除临时工作文件
/usr大量用户级的GNU工具和数据文件都存储在这里
/var可变目录,用以存放经常变化的文件,比如日志文件

注意:usr不是用户的意思,而是unix software resources的简写

df

查看系统挂载的磁盘情况

[root@localhost ~]# df
Filesystem              1K-blocks    Used Available Use% Mounted on
devtmpfs                   485840       0    485840   0% /dev
tmpfs                      497848       0    497848   0% /dev/shm
tmpfs                      497848    7848    490000   2% /run
tmpfs                      497848       0    497848   0% /sys/fs/cgroup
/dev/mapper/centos-root  17811456 1521024  16290432   9% /
/dev/sda1                 1038336  143516    894820  14% /boot
tmpfs                       99572       0     99572   0% /run/user/0

以人能看懂的格式显示

[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.7M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.5G   16G   9% /
/dev/sda1               1014M  141M  874M  14% /boot
tmpfs                     98M     0   98M   0% /run/user/0

在linux中用到了虚拟目录树,它的存在就是为了解耦应用和底层存储。

mount

将光驱挂载到/mnt目录:

[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# cd /mnt
[root@localhost mnt]# df -h

umount

卸载掉挂载的分区/mnt

[root@localhost mnt]# umount /mnt

注意卸载/mnt时,当前目录不能在/mnt下面,否则报出如下图所示提示:

#再次查看磁盘分区的挂载情况:
[root@node1 ~]# df -h
#重新挂载
[root@node1 ~]# mount /dev/cdrom /mnt
#再次查看
[root@node1 ~]# df -h
[root@localhost mnt]# cd ~
[root@localhost ~]# umount /mnt
[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.7M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.5G   16G   9% /
/dev/sda1               1014M  141M  874M  14% /boot
tmpfs                     98M     0   98M   0% /run/user/0
[root@localhost ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 475M     0  475M   0% /dev
tmpfs                    487M     0  487M   0% /dev/shm
tmpfs                    487M  7.7M  479M   2% /run
tmpfs                    487M     0  487M   0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.5G   16G   9% /
/dev/sda1               1014M  141M  874M  14% /boot
tmpfs                     98M     0   98M   0% /run/user/0
/dev/sr0                 4.4G  4.4G     0 100% /mnt

系统操作命令

du

du可以为目录递归地汇总每个FILE的磁盘使用情况。

• du:文件系统的磁盘使用量或是目录使用量

ᅳ a :列出所有的文件与目录容量

ᅳ h :以人们较易读的容量格式(G/M)显示 重要

ᅳ s :列出总量而已,而不列出每个各别的目录占用容量

ᅳ k :以 KBytes 列出容量显示

ᅳ m :以 MBytes 列出容量显示

[root@node1 ~]# cd /usr
[root@node1 usr]# du
.......
0	./etc
0	./games
36	./include/python2.7
36	./include
24	./libexec/getconf
16	./libexec/awk
.......
#添加-s参数可以生成指定目录的汇总信息,也就是共占用多大的磁盘空间
[root@node1 usr]# du -s ./
1218820	./
#添加-h参数可以显示为人类可以读懂的格式
[root@node1 usr]# du -sh ./
1.2G	./
#将路径写成./*统计当前目录下每项内容占用的磁盘空间信息
[root@node1 usr]# du -sh ./*
61M	./bin
0	./etc
0	./games
36K	./include
695M	./lib
126M	./lib64
12M	./libexec
0	./local
43M	./sbin
256M	./share
0	./src
0	./tmp

stat

stat file :显示文件的元数据

change和modify的不同

modify指的是文件内容被修改的时间

change表示文件元数据被修改的时间

[root@localhost usr]# stat /etc/profileFile: ‘/etc/profile’Size: 1819      	Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 16778192    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:etc_t:s0
Access: 2025-04-15 10:47:07.458009573 +0800
Modify: 2020-04-01 12:29:31.000000000 +0800
Change: 2025-04-08 21:09:56.251985998 +0800Birth: -

history

查看历史命令

[root@node1 ~]# history1  clear2  pwd3  hostname4  vi /etc/hostname5  vi /etc/hosts6  ping node07  ping node1......

date

基本语法

date [OPTION]... [+FORMAT]

选项说明

选项功能
-d<时间字符串>显示指定的“时间字符串”表示的时间,而非当前时间
-s<日期时间>设置系统日期时间

参数说明

参数功能
<+日期时间格式>指定显示时使用的日期时间格式

获取当前时间

基本语法

命令功能描述
date显示当前时间
date +%Y显示当前的年份
date +%m显示当前月份
date +%d显示当前是哪一天
date "+%Y-%m-%d %H:%M:%S"显示年月日时分秒

案例演示:

[root@localhost usr]# date +%Y
2025
[root@localhost usr]# date +%m
04
[root@localhost usr]# date %d
date: invalid date ‘%d’
[root@localhost usr]# date +%d
15
[root@localhost usr]# date +%Y%m%d
20250415
[root@localhost usr]# date +%Y%m%d%H:%M:%S
2025041515:56:30
#指定时间的格式中出现空格是需要使用 ''或""括起来
[root@localhost usr]# # date +%Y%m%d %H:%M:%S
[root@localhost usr]# date +%Y%m%d %H:%M:%S
date: extra operand ‘%H:%M:%S’
Try 'date --help' for more information.
[root@localhost usr]# date '+%Y%m%d %H:%M:%S'
20250415 15:57:21
[root@localhost usr]# date "+%Y%m%d %H:%M:%S"
20250415 15:57:30
[root@localhost usr]# date "+%Y-%m-%d %H:%M:%S"
2025-04-15 15:57:47

获取非当前时间

[root@localhost usr]# date -d '1 days ago'
Mon Apr 14 15:59:04 CST 2025
[root@localhost usr]# date -d '-1 days ago'
Wed Apr 16 15:59:15 CST 2025

设置系统时间

基本语法

date -s 字符串时间

[root@node1 ~]# date -s "2021-08-18 09:36:43"

进程相关命令

ps

可以通过命令查看系统内进程信息

进程查看命令

ps(process status) :将某个时间点的程序运作情况截取下来

选项和参数

  • a :和输入终端(terminal) 关联的所有 process,通常与x一起使用,列出完整信息。

  • x :后台进程,通常与 a 这个参数一起使用,可列出较完整信息

  • u :有效使用者 (effective user) 相关的 process

常用组合

ps aux 观察系统所有的程序数据 (常用)

以下为各选项的含义

  • USER:该 process 属于那个使用者

  • PID :该 process 的程序标识符。

  • %CPU:该 process 使用掉的 CPU 资源百分比;

  • %MEM:该 process 所占用的物理内存百分比;

  • VSZ :该 process 使用掉的虚拟内存量 (Kbytes)

  • RSS :该 process 占用的物理的内存量 (Kbytes)

  • TTY :该 process 是在那个终端机上面运作,若与终端机无关则显示 ?, 另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

  • STAT:该进程目前的状态,状态显示与ps -l 的 S 旗标相同 (R/S/D/T/Z)

  • START:该 process 被触发启动的时间;

  • TIME :该 process 实际使用 CPU 运作的时间。

  • COMMAND:该程序的实际命令为何?

kill

基本语法

kill [选项] 进程号 :通过进程号杀死进程(只会杀死进程号对应的一个进程)

killall 进程名称 :通过进程名称杀死进程,也支持通配符(杀死对应的一个或多个进程)

选项说明

选项功能
-15表示让进程处理完善后的事情后关闭
-9表示强迫进程立即停止
[root@localhost usr]# tail -f /etc/profile &

tail -f /etc/profile & 是一个组合命令,用于实时查看 /etc/profile 文件的最新内容,并将其运行在后台。

[root@localhost usr]# ps aux|grep tail
root       1968  0.0  0.0 108092   616 pts/0    S    16:23   0:00 tail -f /etc/profile
root       1970  0.0  0.0 112808   964 pts/0    S+   16:24   0:00 grep --color=autotail
[root@localhost usr]# kill -9 1968
[root@localhost usr]# ps aux|grep tail
root       1972  0.0  0.0 112808   964 pts/0    R+   16:24   0:00 grep --color=autotail
[1]+  Killed                  tail -f /etc/profile

pstree

基本语法

pstree [选项]

选项说明

选项功能
-p显示进程的PID
-u显示进程的所属用户
[root@node1 ~]# pstree
systemd─┬─NetworkManager───2*[{NetworkManager}]├─agetty├─auditd───{auditd}├─chronyd├─crond├─dbus-daemon├─irqbalance├─lvmetad├─master─┬─pickup│        └─qmgr├─polkitd───6*[{polkitd}]├─rsyslogd───2*[{rsyslogd}]├─sshd─┬─sshd───bash───pstree│      └─sshd───sftp-server├─systemd-journal├─systemd-logind├─systemd-udevd└─tuned───4*[{tuned}]
#最常用
[root@node1 ~]# pstree -p
systemd(1)─┬─NetworkManager(672)─┬─{NetworkManager}(689)│                     └─{NetworkManager}(691)├─agetty(684)├─auditd(642)───{auditd}(643)├─chronyd(1100)├─crond(1087)├─dbus-daemon(668)├─irqbalance(675)├─lvmetad(521)├─master(990)─┬─pickup(991)│             └─qmgr(992)├─polkitd(665)─┬─{polkitd}(673)│              ├─{polkitd}(674)│              ├─{polkitd}(676)│              ├─{polkitd}(685)│              ├─{polkitd}(686)│              └─{polkitd}(687)├─rsyslogd(903)─┬─{rsyslogd}(912)│               └─{rsyslogd}(919)├─sshd(900)─┬─sshd(1219)───bash(1221)───pstree(1307)│           └─sshd(1222)───sftp-server(1238)├─systemd-journal(497)├─systemd-logind(666)├─systemd-udevd(530)└─tuned(899)─┬─{tuned}(1160)├─{tuned}(1161)├─{tuned}(1163)└─{tuned}(1164)
[root@node1 ~]# pstree -u
systemd─┬─NetworkManager───2*[{NetworkManager}]├─agetty├─auditd───{auditd}├─chronyd(chrony)├─crond├─dbus-daemon(dbus)├─irqbalance├─lvmetad├─master─┬─pickup(postfix)│        └─qmgr(postfix)├─polkitd(polkitd)───6*[{polkitd}]├─rsyslogd───2*[{rsyslogd}]├─sshd─┬─sshd───bash───pstree│      └─sshd───sftp-server├─systemd-journal├─systemd-logind├─systemd-udevd└─tuned───4*[{tuned}]
[root@node1 ~]# pstree -pu
systemd(1)─┬─NetworkManager(672)─┬─{NetworkManager}(689)│                     └─{NetworkManager}(691)├─agetty(684)├─auditd(642)───{auditd}(643)├─chronyd(1100,chrony)├─crond(1087)├─dbus-daemon(668,dbus)├─irqbalance(675)├─lvmetad(521)├─master(990)─┬─pickup(991,postfix)│             └─qmgr(992,postfix)├─polkitd(665,polkitd)─┬─{polkitd}(673)│                      ├─{polkitd}(674)│                      ├─{polkitd}(676)│                      ├─{polkitd}(685)│                      ├─{polkitd}(686)│                      └─{polkitd}(687)├─rsyslogd(903)─┬─{rsyslogd}(912)│               └─{rsyslogd}(919)├─sshd(900)─┬─sshd(1219)───bash(1221)───pstree(1309)│           └─sshd(1222)───sftp-server(1238)├─systemd-journal(497)├─systemd-logind(666)├─systemd-udevd(530)└─tuned(899)─┬─{tuned}(1160)├─{tuned}(1161)├─{tuned}(1163)└─{tuned}(1164)

top

基本命令

top [选项] [参数]

选项说明

选项功能
-d 正整数指定top命令每隔几秒更新。默认是3秒
-i使top不显示任何闲置或者僵死进程。
-p通过指定监控进程ID来仅仅监控某个进程的状态。

操作说明

操作功能
P以CPU使用率排序,默认就是此项
M以内存的使用率排序
N以PID排序
q退出top命令模式

演示:执行如下命令后,可以按P、M、N对查询出的进程结果分别按照对应的列排序进行排序。

[root@localhost ~]# top -d 1

结果字段解释

第一行top和系统相关信息

结果字段代表的含义
top - 10:03:46 uptop命令的执行时间
1:15系统从启动到目前经过了多长时间
1 user目前系统中登录一个用户
load average: 0.00, 0.01, 0.05当前系统在最近1分钟、最近5分钟、最近15分钟的负载情况

第二行Tasks进程相关信息

结果字段代表的含义
Tasks: 104 total系统中的进程总数为104
1 running正在运行的进程数为1
103 sleeping睡眠的进程数为103
0 stopped正在停止的进程
0 zombie僵尸进程。如果不是0,需要手工检查僵尸进程

第三行为CPU信息

结果字段代表的含义
Cpu(s): 0.0%us用户模式占用的CPU百分比
0.0%sy系统模式占用的CPU百分比
0.0%ni改变过优先级的用户进程占用的CPU百分比
100%id空闲CPU的CPU百分比
0.0%wa等待输入/输出的进程的占用CPU百分比
0.0%hi硬中断请求服务占用的CPU百分比
0.0%si软中断请求服务占用的CPU百分比
0.0%stst(Steal time)虚拟时间百分比。就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比。

第四行为物理内存信息

结果字段代表的含义
Mem: 995704total物理内存的总量,单位KB
644548 free空闲的物理内存数量
138960 used已经使用的物理内存数量
212196 buffers作为缓冲的内存数量

第五行为交换分区(swap)信息

结果字段代表的含义
Swap: 2097148 total交换分区(虚拟内存)的总大小
2097148 free空闲交换分区的大小
0 used已经使用的交互分区的大小
709892 avail Mem作为缓存的交互分区的大小

netstat

基本语法

netstat [选项]

选项说明

选项功能
-a列出有在listen(监听)和非listen(未监听)的服务状态
-l仅列出有在listen(监听)的服务状态
-n拒绝显示别名,能显示数字的全部转化成数字 22 21
-p表示显示哪个进程在调用

常用命令组合

  • netstat -anp :查看进程网络信息

  • netstat -nlp :查看网络端口号占用情况

  • netstat -anp |grep 进程号 :查看该进程网络信息

  • netstat -nlp | grep 端口号 :查看该网络端口号占用情况

注意:centos7简易版安装后不带netstat命令,需要进行手动安装

!!!下载阿里云的Centos-7.repo文件 wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

重新加载yum

yum clean all

yum makecache

[root@node1 ~]# netstat -nlp
-bash: netstat: 未找到命令
[root@node1 ~]# yum install net-tools -y

安装net-tools后便可以使用了

设置定时任务

基本语法

crontab [选项]

选项功能
-e编辑crontab定时任务
-l查询crontab任务
-r删除当前用户所有的crontab任务

实战:添加一个定时任务,每分钟记录一次系统当前时间。

[root@node2 ~]# crontab -l
no crontab for root
[root@node1 ~]# crontab -e 
*/1 * * * * /bin/echo `date` >> /root/crontest.txt
[root@node1 ~]# systemctl restart crond #重启crond服务才会生效
[root@node2 ~]# crontab -l
*/1 * * * * /bin/echo `date` >> /root/crontest.txt

格式: ******命令

项目含义范围
第一个“*”一小时当中的第几分钟0-59
第二个“*”一天当中的第几小时0-23
第三个“*”一个月当中的第几天1-31
第四个“*”一年当中的第几月1-12
第五个“*”一周当中的星期几0-7(0和7都代表星期日)
特殊符号含义
*代表任何时间
代表不连续的时间。比如“0 1,3,15 * * * 命令”,就代表在每天的1点0分,3点0分,15点0分都执行一次命令
-代表连续的时间范围。比如“0 8 * * 15 命令”,代表在周一到周五的8点0分执行命令
*/n代表每隔多久执行一次。比如“*/1 * * * * 命令”,代表每隔1分钟就执行一遍命令

特定时间执行命令

时间含义
10 0 * * * 命令每天0点10分执行命令
0 18 * * 5 回老家命令每周五 的18点0分执行回老家命令
0 0 5,15,25 * * 健身命令每月5号、15、25号的0点0分执行健身命令
10 6 * * 1-5 起床命令每周一到周五的6点10分执行起床命令
*/10 6 * * 1 起床命令每周一的6点,每隔10分钟执行一次起床命令

查看定时任务的结果:

[root@node1 ~]# cat crontest.txt 
2021年 08月 18日 星期三 11:01:01 CST
2021年 08月 18日 星期三 11:02:01 CST
2021年 08月 18日 星期三 11:03:02 CST
2021年 08月 18日 星期三 11:04:01 CST
2021年 08月 18日 星期三 11:05:01 CST
2021年 08月 18日 星期三 11:06:01 CST
[root@node2 ~]# crontab -l
*/1 * * * * /bin/echo `date` >> /root/crontest.txt
[root@node2 ~]# crontab -r
[root@node2 ~]# crontab -l
no crontab for root

虚拟机时间同步完善:

#查询ntpdate在什么地方
[root@node1 ~]# whereis ntpdate
ntpdate: /usr/sbin/ntpdate
[root@node1 ~]# crontab -e 
#测试时使用1,测试没问题后改为5 每5分钟同步一次即可
*/1 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
[root@node1 ~]# systemctl restart crond #重启crond服务才会生效

也可以使用如下方式:

[root@node1 ~]# vim /etc/ntp.conf 
server ntp1.aliyun.com
server ntp2.aliyun.com
server ntp3.aliyun.com
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
[root@node1 ~]# systemctl restart  ntpd

扩展:也可以chrony

#安装chrony
[root@node1 ~]# yum install chrony -y
#修改配置文件
[root@node1 ~]# vim /etc/chrony.conf
server ntp1.aliyun.com
server ntp2.aliyun.com
server ntp3.aliyun.com
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
[root@node1 ~]# systemctl restart  chronyd

文本操作命令

touch

touch 已存在的文件,抹平各个时间

touch 不存在的文件,则创建文件

[root@node1 ~]# ll
总用量 4
-rw-------. 1 root root 1201 8月  17 01:33 anaconda-ks.cfg
[root@node1 ~]# touch anaconda-ks.cfg 
[root@node1 ~]# ll
总用量 4
-rw-------. 1 root root 1201 8月  17 17:51 anaconda-ks.cfg
[root@node1 ~]# touch names.txt
[root@node1 ~]# ll
总用量 4
-rw-------. 1 root root 1201 8月  17 17:51 anaconda-ks.cfg
-rw-r--r--  1 root root    0 8月  17 17:51 names.txt
[root@node1 ~]# rm -f names.txt 

cat

直接查看一个文件的内容可以使用cat,tac,nl这几个指令

cat是concatenate的缩写,其功能时间一个文件的内容连续的输出。该命令适合看行数较少的文件。另外,需要查看一般DOS文件时,可以通过-A选项来显示换行符和[tab]。

[root@node1 ~]# cat /etc/issue

tac(反向输出):

[root@node1 ~]# tac /etc/issue

与上面的cat命令进行比较,是由最后一行先显示。

tac功能与cat类似,但是是由文件最后一行反向连续输出到屏幕上。

nl(添加行号打印):

nl可以将输出的文件内容自动的加上行号。

head

格式:head [-n number] 文件

  • 默认获取前10行(省略 -n number)

  • number>0,取出前面number行。

  • number<0,除了最后number行外的所有行。

tail

命令格式:tail [ -n number] 文件

选项与参数:

-n:后面接数字,代表显示几行的意思

-f:表示持续侦测后面文件内容的改变,知道按下Ctrl+c才会结束tail的侦测。

#默认情况下显示最后10行:
[root@node1 ~]# tail /etc/profile
#如果先要显示最后20行,就要如下:
[root@node1 ~]# tail -n 20 profile
#检测文件变化,一般用于边测试,边查看日志
[root@node1 ~]# tail -f  profile

管道| !!!

管道左侧的输出作为右侧的输入

[root@node1 ~]# ps aux |grep ssh
[root@node1 ~]# yum list |grep mysql
如何显示文件中间的几行?
[root@node1 ~]# head -n 20 profile |tail -n 10
可以省略为:
[root@node1 ~]# head -20 profile |tail -10
#显示/etc/profile文件中包含if关键字的行
[root@node1 ~]# grep if /etc/profile

xargs!!

将前面输出作为后面命令的参数

echo "/"  |  xargs  ls  -l

数据重定向!!!

标准输入(stdin):编号为0

标准输出(stdout):编号为1

标准错误输出(stderr):编号为2

1>:以覆盖的方法,将正确的数据输出到文件; 

1>>:以累加的方法,将正确的数据输出到文件; 

2>:以覆盖的方法,将错误输出的数据输出到文件; 

2>>:以累加的方法,将错误输出的数据输出到文件; 

ls  -l  >> ok1.log
ls -l  > ok2.log
ls  hello 2>/root/err.log
ls  hello / 1>/root/log.log 2>/root/err.log
ls 1>/dev/null
ls  2>/tmp/err.log
#既向控制台输出,也向文件写入
ls -l  /  | tee  ok2.log
#tee命令,将输入分成两个输出

cut

cut:显示切割的行数据

- s:不显示没有分隔符的行

- d:指定分隔符对源文件的行进行分割

- -f 选定显示哪些列

  • m-n m列到n列

  • -n 第一列到n列

  • m- 第m列到最后一列

  • n 第n列

  • x,y,z获取第x,y,z列

sort

sort排序:字典序和数值序

  • - n:按数值排序

  • - r:倒序 reverse

  • - t:自定义分隔符

  • - k:选择排序列

  • - f:忽略大小写

sed !!

sed:行编辑器

sed [选项] 'AddressCommand' file…

[选项]

  • -i:直接修改源文件

  • -r:表示使用扩展正则表达式

'AddressCommand'

  • d:删除符合条件的行

  • a\string:在指定的行后追加新行,内容为string

  • i\string:在指定行前添加新行,内容是string

  • s/string1/string2/:查找并替换,默认只替换每行第一次模式匹配到的字符串

    • g:行内全局替换

    • i:忽略大小写

    • \(\) \1\2

vi/vim编辑器的使用!!!

模式切换相关

  • i 进入编辑模式

  • a 在选定字符后插入字符

  • o 在当前行下添加新行

  • O 在当前行上添加新行

  • I 在当前行首进入编辑模式

  • A 在当前行末进入编辑模式

  • ESC 退出编辑模式

  • : 末行模式

  • ESC,ESC 退出末行模式

  • ZZ 在命令模式保存并退出编辑器

  • :wq 保存并退出编辑器

  • :w 保存编辑器内容

  • :q! 不保存退出编辑器

移动光标

  • h左j下k上l右

  • w 移动到下一个单词的词首

  • e:跳至当前或下一个单词的词尾

  • b:跳至当前或下一个单词的词首

  • 0:绝对行首

  • ^:行首的第一个非空白字符

  • $:绝对行尾

  • G:文档末尾

  • 3G:第三行

  • gg:文档开头

翻页

  • ctrl-f 向下翻页 forward

  • ctrl-b 向上翻页 backward

删除替换

  • x:删除光标位置字符

  • 3x:删除光标开始3个字符

  • r:替换光标位置字符

  • dw 删除单词

  • dd 删除整行

  • D:删除光标所在位置到行尾

复制粘贴

  • yw 复制单词

  • yy 复制1行

  • nyy 复制n行,n是数字

  • p 粘贴 paste P

撤销与重做

  • u:撤销 undo

  • ctrl+r:重做 操作结束后使用u退回到上次操作,则ctrl+r重做

  • . 重复上一步操作

set:设置

:set nu number 显示行号

:set nonu nunumber 取消行号的显示

:set readonly 设置只读

查找

  • :/after 向下查找

    • n 下一个,N 上一个

  • ?向上查找

  • :! 执行命令

查找并替换

  • s/str1/str2/gi

    • /:临近s的第一个为边界字符:/ @ #(为了防止内容和边界字符重复,可以使用@和#做边界字符)

    • g:一行内全部替换

    • i:忽略大小写

末行操作

  • .:当前光标行

  • +n:偏移n行

  • $:末尾行,$-3

  • %:全文

  • :%d 删除全文

  • :.,$-1d 从当前行删除到倒数第二行

  • :.,+3d 从当前行再往下数三行删除

  • :.,13d 从当前行到第13行删除

文件压缩与打包

压缩:指通过某些算法,将文件尺寸进行相应的缩小,同时不损失文件的内容。 比如:zip、gzip、tar

打包:指将多个文件(或目录)合并成一个文件,方便传递或部署。比如:tar

zip与unzip

zip [选项] XXX.zip 将要压缩的内容 :压缩文件和目录的命令

选项说明

  • -r 压缩目录

unzip [选项] XXX.zip :解压缩文件

选项说明

  • -d <目录> 指定解压后文件的存放目录

注意:zip 压缩命令在window/linux都通用,可以压缩目录且保留源文件

gzip和gunzip

gzip 文件 :压缩文件,只能将文件压缩为*.gz文件

gunzip 文件.gz :解压缩文件命令

注意:

(1)只能压缩文件不能压缩目录

(2)不保留原来的文件

tar

压缩文件或打包文件常见的扩展名: *.tar.gz, *.tar.bz2;linux系统一般文件的扩展名用途不大,但是压缩或打包文件的扩展名是必须的,因为linux支持的压缩命令较多,不同的压缩技术使用的压缩算法区别较大,根据扩展名能够使用对应的解压算法。

常见文件扩展名:

  • *.tar.gz tar程序打包的文件,并且经过 gzip 的压缩

  • *.tar.bz2 tar程序打包的文件,并且经过 bzip2 的压缩

tar命令,选项与参数:

  • -c :建立打包文件,

  • -t :查看打包文件的内容含有哪些文件

  • -x :解打包或解压缩的功能,可以搭配-C(大写)在特定到特定目录解开

  • -j :通过bzip2的支持进行压缩/解压缩:此时文件最好为 *.tar.bz2

  • -z :通过gzip的支持进行压缩/解压缩:此时文件最好为 *.tar.gz

  • -v :在压缩/解压缩的过程中,将正在处理的文件名显示出来

  • -f filename:-f 后面跟处理后文件的全名称(路径+文件名+后缀名)

  • -C 目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个 选项

  • -p :保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件

  • 注意 -c, -t, -x 不可同时出现在一串指令列中

打包与压缩:

tar –zcvf [/路径/]filename.tar.gz 被压缩的文件或目录

tar –jcvf [/路径/] filename.tar.bz2 被压缩的文件或目录

#将/etc目录下的所有文件打包并压缩/tmp/part1/tar/etc01.tar.gz  #将/etc目录下的所有文件打包并压缩/tmp/part1/tar/etc02tar.bz2

查询:

tar –ztvf [/路径/] filename.tar.gz

tar –jtvf [/路径/] filename.tar.bz2

备份:

tar –zpcv –f [/路径/]filename.tar.gz 被备份文件或目录

tar –jpcv –f [/路径/]filename.tar.bz2 被备份文件或目录

解压到当前目录:

tar –jxv –f [/路径/] filename.tar.bz2

tar –zxv –f [/路径/] filename.tar.gz

解压到指定目录:

tar -jxv -f [/路径/] filename.tar.bz2 –C 指定目录

tar -zxv -f [/路径/] filename.tar.gz -C 指定目录

注意:filename前带路径表示该路径下的,反之表示当前目录下

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com