Linux下的常用基础指令


Linux下的常用基础指令



一、目录相关指令

1 ls

作用:浏览查看指定目录下的文件信息,默认查看当前目录。

选项含义
-a查看该目录下隐藏文件
-l查看文件的详细信息
  • 命名以 . 开头的文件为隐藏文件。
  • . 表示当前目录
  • .. 表示当前目录的上一层目录

(1)

[dev@localhost ~]$ ls
code_-connection_point  install.sh                                  project      公共  图片  音乐
gobang                  linux                                       third_part   模板  文档  桌面
install                 mysql80-community-release-el7-3.noarch.rpm  websocketpp  视频  下载

(2)查看当前目录下和当前上一层目录的文件信息。ls和ls . 查询结果一样:

[dev@localhost ~]$ ls .
code_-connection_point  install.sh                                  project      公共  图片  音乐
gobang                  linux                                       third_part   模板  文档  桌面
install                 mysql80-community-release-el7-3.noarch.rpm  websocketpp  视频  下载
[dev@localhost ~]$ ls ..
dev  test
[dev@localhost ~]$ 

(3)查看上层目录的隐藏文件及其详细信息:

[dev@localhost ~]$ ls -al ..
总用量 8
drwxr-xr-x.  4 root root   29 628 18:15 .
dr-xr-xr-x. 17 root root 4096 529 18:05 ..
drwx------. 30 dev  dev  4096 623 18:29 dev
drwx------.  3 test test   78 212 2019 test

2 pwd

作用:查看当前目录所在的路径。
Linux的目录结构:不管磁盘分区为多少,目录结构只有一个,为一个树形结构的目录,最底层就是/根目录。
在这里插入图片描述

  • 绝对路径:以 / 根目录作为起始的路径表示
  • 相对路径:以 ./ 作为起始的路径表示

路径的表示方式:Linux下目录可能会有深度的嵌套,在表示路径的时候用/作为目录间的间隔,且/表示根目录。

[dev@localhost ~]$ pwd
/home/dev

(1)进入家目录的Linux目录下的ipc目录,ipc的相对路径为/home/dev/linux/ipc,相对家目录来说,其路径为./linux/ipc/,两者只是表示方式的不同,实际上都表示ipc目录路径,都表示ipc的层级所在。

[dev@localhost ~]$ ls
code_-connection_point  install.sh                                  project      公共  图片  音乐
gobang                  linux                                       third_part   模板  文档  桌面
install                 mysql80-community-release-el7-3.noarch.rpm  websocketpp  视频  下载
[dev@localhost ~]$ cd linux
[dev@localhost linux]$ ls
ipc  makefile  multi  process  pthread  sig
[dev@localhost linux]$ cd ipc
[dev@localhost ipc]$ ls
makefile  pipe1.c  pipe2.c  pipe3.c  shmid_ds
[dev@localhost ipc]$ pwd
/home/dev/linux/ipc
[dev@localhost ipc]$ cd
[dev@localhost ~]$ ls ./linux/ipc/
makefile  pipe1.c  pipe2.c  pipe3.c  shmid_ds
[dev@localhost ~]$ ls /home/dev/linux/ipc
makefile  pipe1.c  pipe2.c  pipe3.c  shmid_ds

3 mkdir

作用:创建目录。

选项含义
-p多层级的创建目录,哪一层次不存在也会进行创建

(1)创建目录afile。

[dev@localhost ~]$ mkdir afile
[dev@localhost ~]$ ls
afile                   install     mysql80-community-release-el7-3.noarch.rpm  websocketpp  视频  下载
code_-connection_point  install.sh  project                                     公共         图片  音乐
gobang                  linux       third_part                                  模板         文档  桌面

(2)递归创建,创建目录a,在目录a下创建目录b,目录b下创建目录c。

[dev@localhost ~]$ mkdir -p a/b/c
[dev@localhost ~]$ ls
a                       install                                     project      模板  下载
afile                   install.sh                                  third_part   视频  音乐
code_-connection_point  linux                                       websocketpp  图片  桌面
gobang                  mysql80-community-release-el7-3.noarch.rpm  公共         文档
[dev@localhost ~]$ ls a/
b
[dev@localhost ~]$ ls a/b/
c

4 rmdir

作用:删除空目录。

(1)递归创建testdir/newdir,删除testdir,提示删除错误。

[dev@localhost ~]$ mkdir -p testdir/newdir
[dev@localhost ~]$ ls
a                       install                                     project      公共  文档
afile                   install.sh                                  testdir      模板  下载
code_-connection_point  linux                                       third_part   视频  音乐
gobang                  mysql80-community-release-el7-3.noarch.rpm  websocketpp  图片  桌面
[dev@localhost ~]$ ls testdir/
newdir
[dev@localhost ~]$ rmdir testdir
rmdir: 删除 "testdir" 失败: 目录非空

现将testdir下的newdir进行删除,testdir变为一个空目录时才可以删除:

[dev@localhost ~]$ rmdir testdir/newdir
[dev@localhost ~]$ ls testdir/
[dev@localhost ~]$ rmdir testdir
[dev@localhost ~]$ ls
a                       install                                     project      模板  下载
afile                   install.sh                                  third_part   视频  音乐
code_-connection_point  linux                                       websocketpp  图片  桌面
gobang                  mysql80-community-release-el7-3.noarch.rpm  公共         文档

5 rm

作用:删除文件,默认只能删除普通文件。

选项含义
-r递归删除指定目录下的所有文件,再删除该目录
-f忽略所有提示信息,直接进行删除操作
-i添加操作提示信息

(1)递归创建目录a,b,c,当直接删除目录a,删除操作出错。

[dev@localhost ~]$ mkdir -p a/b/c
[dev@localhost ~]$ rm a
rm: 无法删除"a": 是一个目录

(2)在递归删除a,b,c的过程中添加操作提示信息。

[dev@localhost ~]$ rm -ri a/b/c
rm:是否删除目录 "a/b/c"?y
[dev@localhost ~]$ 

不加-i选项就不会出现提示信息。

[dev@localhost ~]$ rm -r a/

6 cp

作用:拷贝一个文件到指定的位置,默认针对普通文件。
作用对象,一是待拷贝的文件,二是目标位置的路径。

选项含义
-r递归拷贝一个目录及目录中的所有文件到指定的路径下

(1)将根目录下路径为 /etc/passwd 的passwd文件拷贝一份到当前目录,即家目录。

[dev@localhost ~]$ cp /etc/passwd ./
[dev@localhost ~]$ ls
afile                   install.sh                                  project      模板  下载
code_-connection_point  linux                                       third_part   视频  音乐
gobang                  mysql80-community-release-el7-3.noarch.rpm  websocketpp  图片  桌面
install                 passwd                                      公共         文档

(2)cp指令只针对于普通文件说明。
拷贝一个目录到一个目录下:递归创建a,b,c目录,创建testdir目录,将a目录拷贝一份到testdir目录下,命令执行出错。

[dev@localhost ~]$ mkdir -p a/b/c
[dev@localhost ~]$ ls
a                       install                                     passwd       公共  文档
afile                   install.sh                                  project      模板  下载
code_-connection_point  linux                                       third_part   视频  音乐
gobang                  mysql80-community-release-el7-3.noarch.rpm  websocketpp  图片  桌面
[dev@localhost ~]$ mkdir testdir
[dev@localhost ~]$ ls
a                       install                                     passwd      websocketpp  图片  桌面
afile                   install.sh                                  project     公共         文档
code_-connection_point  linux                                       testdir     模板         下载
gobang                  mysql80-community-release-el7-3.noarch.rpm  third_part  视频         音乐
[dev@localhost ~]$ cp a testdir/
cp: 略过目录"a"
[dev@localhost ~]

(3)递归拷贝,将a目录即目录下的所有文件全部拷贝到testdir目录下。

[dev@localhost ~]$ mkdir -p a/b/c
[dev@localhost ~]$ mkdir testdir
[dev@localhost ~]$ cp -r a/ testdir/
[dev@localhost ~]$ ls testdir/
a
[dev@localhost ~]$ ls testdir/a/
b
[dev@localhost ~]$ ls testdir/a/b/
c

7 mv

作用:剪切,将一个文件移动到一个新的位置,原位置文件就不存在了。
将家目录下的passwd文件移动到目录c下去,即路径 testdir/a/b/c/中去。

[dev@localhost ~]$ ls
afile                   install.sh                                  project      公共  文档
code_-connection_point  linux                                       testdir      模板  下载
gobang                  mysql80-community-release-el7-3.noarch.rpm  third_part   视频  音乐
install                 passwd                                      websocketpp  图片  桌面
[dev@localhost ~]$ ls testdir/
a
[dev@localhost ~]$ ls testdir/a/
b
[dev@localhost ~]$ ls testdir/a/b/
c
[dev@localhost ~]$ mv passwd testdir/a/b/c/
[dev@localhost ~]$ ls testdir/a/b/c/
passwd
[dev@localhost ~]$ 

8 cd

作用:进入指定的目录,改变当前的工作目录。
(1)从家目录进入到目录c,c的路径为 ./testdir/a/b/c/
cd ~,从c目录回到当前用户的家目录,直接cd也可以直接回到家目录。

[dev@localhost ~]$ ls
afile                   install.sh                                  testdir      模板  下载
code_-connection_point  linux                                       third_part   视频  音乐
gobang                  mysql80-community-release-el7-3.noarch.rpm  websocketpp  图片  桌面
install                 project    
[dev@localhost ~]$ ls testdir/
a
[dev@localhost ~]$ ls testdir/a/
b
[dev@localhost ~]$ ls testdir/a/b/
c
[dev@localhost ~]$ cd testdir/a/b/c/
[dev@localhost c]$ cd ~
[dev@localhost ~]$ 

(2)以回到上一层目录的方式回到家目录。

[dev@localhost ~]$ cd testdir/a/b/c/
[dev@localhost c]$ cd ..
[dev@localhost b]$ cd ..
[dev@localhost a]$ cd ..
[dev@localhost testdir]$ cd ..
[dev@localhost ~]$ cd testdir/a/b/c/
[dev@localhost c]$ cd ../../../..
[dev@localhost ~]$ 

二、文件操作相关指令

1 cat

作用:打印内容到终端进行显示。

选项含义
-n文件打印出来内容加上行号

适合打印短小的文件内容。

[dev@localhost ~]$ cat passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[dev@localhost ~]$ cat -n passwd
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin

2 touch

作用:刷新文件的时间属性,若文件不存在则会创建一个新文件。
(1)刷新passwd文件的时间属性。

[dev@localhost ~]$ ls -l
总用量 40
drwxrwxr-x.  4 dev dev    73 421 17:59 code_-connection_point
drwxrwxr-x.  5 dev dev    50 624 14:59 gobang
drwxrwxr-x.  4 dev dev    52 212 2019 install
-rw-rw-r--.  1 dev dev   827 530 15:49 install.sh
drwxrwxr-x.  8 dev dev   102 626 15:36 linux
-rw-rw-r--.  1 dev dev 26024 425 2019 mysql80-community-release-el7-3.noarch.rpm
-rw-r--r--.  1 dev dev  2497 628 21:17 passwd
[dev@localhost ~]$ touch passwd
[dev@localhost ~]$ ls -l
总用量 40
drwxrwxr-x.  4 dev dev    73 421 17:59 code_-connection_point
drwxrwxr-x.  5 dev dev    50 624 14:59 gobang
drwxrwxr-x.  4 dev dev    52 212 2019 install
-rw-rw-r--.  1 dev dev   827 530 15:49 install.sh
drwxrwxr-x.  8 dev dev   102 626 15:36 linux
-rw-rw-r--.  1 dev dev 26024 425 2019 mysql80-community-release-el7-3.noarch.rpm
-rw-r--r--.  1 dev dev  2497 628 21:22 passwd

(2)stat filename:查看文件的相关属性。
如:查看文件passwd的相关属性。

[dev@localhost ~]$ stat passwd
  文件:"passwd"
  大小:2497            块:8          IO 块:4096   普通文件
设备:fd00h/64768d      Inode:35717273    硬链接:1
权限:(0644/-rw-r--r--)  Uid:( 1000/     dev)   Gid:( 1000/     dev)
环境:unconfined_u:object_r:user_home_t:s0
最近访问:2023-06-28 21:22:52.345793894 +0800
最近更改:2023-06-28 21:22:52.345793894 +0800
最近改动:2023-06-28 21:22:52.345793894 +0800
创建时间:-

(3)刷新不存在文件afile的时间属性,不存在则创建。

[dev@localhost ~]$ touch afile
[dev@localhost ~]$ ls -l
总用量 40
-rw-rw-r--.  1 dev dev     0 628 21:27 afile
[dev@localhost ~]$ stat afile
  文件:"afile"
  大小:0               块:0          IO 块:4096   普通空文件
设备:fd00h/64768d      Inode:35717304    硬链接:1
权限:(0664/-rw-rw-r--)  Uid:( 1000/     dev)   Gid:( 1000/     dev)
环境:unconfined_u:object_r:user_home_t:s0
最近访问:2023-06-28 21:27:26.986785164 +0800
最近更改:2023-06-28 21:27:26.986785164 +0800
最近改动:2023-06-28 21:27:26.986785164 +0800
创建时间:-

为啥有需要这些各种属性呢?
这是为了云备份项目,即把电脑上需要备份的文件(新文件,被修改过的文件)上传给服务器备份起来,文件在服务器上占据磁盘空间,而磁盘空间有限且需金钱成本,所以服务器会将不常访问的文件给压缩储存。而压缩哪些文件,哪个标准来说明文件不经常使用,这就得通过文件的时间属性来看。

3 more

作用:对文件内容进行分页显示。
对于那些冗长的文件,在一页中并不能全部显示完,这就得对文件进行分页显示。

使用含义
空格对文件进行向下翻页
回车向下按行滑动显示,显示到文件末尾自动退出
q文件退出
//对文件进行分页显示,选项键对文件进行浏览操作
more filename

4 less

作用:对文件内容进行分页显示。

使用含义
f向下翻页
b向上翻页
jk上下按行滚动
q退出
/ string向下查找string字符串
?string向上查找string字符串
//对文件进行分页显示,选项键对文件进行浏览操作
more filename

5 head

作用:显示文件的前n行内容(默认前10行)。

选项表示
-n后加数字,表示指定显示多少行

(1)默认显示passwd文件内容的前10行。

[dev@localhost ~]$ head passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

(2)显示passwd文件的前三行内容。

[dev@localhost ~]$ head -n 3 passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

6 tail

作用:显示文件的末尾n行内容(默认末尾10行)。

选项说明
-f动态一直等待文件末尾新内容进行打印,一直打印到文件末尾

(1)默认显示passwd文件内容的末尾10行。

[dev@localhost ~]$ tail passwd
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
dev:x:1000:1000:dev:/home/dev:/bin/bash
test:x:1001:1001::/home/test:/bin/bash
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin
saned:x:988:982:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
gluster:x:987:981:GlusterFS daemons:/run/gluster:/sbin/nologin
wen:x:1002:1002::/home/wen:/bin/bash

(2)显示passwd文件的最后三行内容。

[dev@localhost ~]$ tail -n 3 passwd
saned:x:988:982:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
gluster:x:987:981:GlusterFS daemons:/run/gluster:/sbin/nologin
wen:x:1002:1002::/home/wen:/bin/bash

那如果我们想将获取passwd文件的第三行数据,即打印文件passwd的第三行内容。
这就需要管道符来进行命令的连接。

管道符 |
用于连接两个命令,将前面命令的输出结果作为后边命令的输入,让后面命令来进行处理。

实现需求:打印passwd文件的第三行内容。就可以将打印文件的前三行内容作为打印最后一行的输入来打印文件第三行内容。

[dev@localhost ~]$ head -n 3 passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[dev@localhost ~]$ head -n 3 passwd | tail -n 1
daemon:x:2:2:daemon:/sbin:/sbin/nologin

当tail -n 1命令执行时,若未给出要操作的文件,默认从键盘输入来获取。

7 重定向符号

大多数命令的执行结果都是在终端进行显示出来,重定向就是告诉命令,不将结果打印到终端,而是将其写入到指定的文件。

  • > filename:将要打印的内容写入到指定文件中,写入前会将文件原内容清空后再写入。
  • >> filename :将要打印的内容写入到指定文件中,将写入内容追加在文件原内容之后。

(1)将家目录下所有文件的详细信息不在终端进行打印,而是写入到文件text.txt中。

[dev@localhost ~]$ ls -l > text.txt
[dev@localhost ~]$ ls
afile                   install.sh                                  project      公共  文档
code_-connection_point  linux                                       text.txt     模板  下载
gobang                  mysql80-community-release-el7-3.noarch.rpm  third_part   视频  音乐
install                 passwd                                      websocketpp  图片  桌面
[dev@localhost ~]$ cat text.txt
总用量 40
-rw-rw-r--.  1 dev dev     0 628 21:27 afile
drwxrwxr-x.  4 dev dev    73 421 17:59 code_-connection_point
drwxrwxr-x.  5 dev dev    50 624 14:59 gobang
drwxrwxr-x.  4 dev dev    52 212 2019 install
-rw-rw-r--.  1 dev dev   827 530 15:49 install.sh
drwxrwxr-x.  8 dev dev   102 626 15:36 linux
-rw-rw-r--.  1 dev dev 26024 425 2019 mysql80-community-release-el7-3.noarch.rpm
-rw-r--r--.  1 dev dev  2497 628 21:22 passwd
drwxrwxr-x.  6 dev dev    83 328 14:30 project
-rw-rw-r--.  1 dev dev     0 628 23:22 text.txt
lrwxrwxrwx.  1 dev dev    58 212 2019 third_part -> /home/dev/install/ThirdPartLibForCpp/el7.x86_64/third_part
drwxrwxr-x. 11 dev dev  4096 530 15:30 websocketpp
drwxr-xr-x.  2 dev dev     6 212 2019 公共
drwxr-xr-x.  2 dev dev     6 212 2019 模板
drwxr-xr-x.  2 dev dev     6 212 2019 视频
drwxr-xr-x.  2 dev dev     6 212 2019 图片
drwxr-xr-x.  2 dev dev     6 212 2019 文档
drwxr-xr-x.  2 dev dev     6 212 2019 下载
drwxr-xr-x.  2 dev dev     6 212 2019 音乐
drwxr-xr-x.  2 dev dev     6 531 14:33 桌面
[dev@localhost ~]$ ls > text.txt
[dev@localhost ~]$ cat text.txt
afile
code_-connection_point
gobang
install
install.sh
linux
mysql80-community-release-el7-3.noarch.rpm
passwd
project
text.txt
third_part
websocketpp
公共
模板
视频
图片
文档
下载
音乐
桌面

可以看到,在再次写入内容之前,原文件内容并不存在被清空了。

(2)在(1)中的text.txt文件中追加passwd文件的前5行,再查看文件最后7行的内容。

[dev@localhost ~]$ head -n 5 passwd >> text.txt
[dev@localhost ~]$ tail -n 7 text.txt
音乐
桌面
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

三、文件解压缩指令

文件进行压缩存储,可节省磁盘空间,有多种算法将文件进行压缩,故而有了不同的压缩格式和其对应的压缩算法。

1 压缩与解压缩(zip/unzip、gzip/gunzip、bzip2/bunzip)

作用:对文件进行压缩和解压缩。

Windows下可将多种算法集合到某一个压缩工具中;Linux下,一个压缩算法对应了一个压缩指令,一个解压缩算法对应了一个解压缩指令。

windows下和Linux下文件的不同压缩格式:

windowsLinux
.zip.rar.7zgzipbzip2tar

Linux下对应解压缩算法对应的解压缩指令:

指令含义
zip / unzipzip格式的压缩与解压缩
gzip / gunzipgzip格式的压缩与解压缩
bzip2 / bunzip2bzip2格式的压缩与解压缩

(1)将家目录下的图片文件 logo.png 用zip格式进行文件压缩。
压缩格式:

zip  logo.png.zip  logo.png
[dev@localhost ~]$ zip logo.png.zip logo.png
  adding: logo.png (deflated 0%)
[dev@localhost ~]$ ls                     
install.sh    mysql80-community-release-el7-3.noarch.rpm  third_part   模板  下载
code_-connection_point  linux         passwd                                      tmp.tar.gz   视频  音乐
gobang                  logo.png      project                                     websocketpp  图片  桌面
install                 logo.png.zip                                      公共         文档

当把文件进行压缩之后源文件还在。
(2)将家目录下的图片文件 logo.png 用gzip格式进行文件压缩或解压缩。

压缩格式:

gzip logo.png
[dev@localhost ~]$ ls
code_-connection_point  linux                                       project      公共  文档
gobang                  logo.png                                    text.txt     模板  下载
install                 mysql80-community-release-el7-3.noarch.rpm  third_part   视频  音乐
install.sh              passwd                                      websocketpp  图片  桌面
[dev@localhost ~]$ gzip logo.png
[dev@localhost ~]$ ls
code_-connection_point  linux                                       project      公共  文档
gobang                  logo.png.gz                                 text.txt     模板  下载
install                 mysql80-community-release-el7-3.noarch.rpm  third_part   视频  音乐
install.sh              passwd                                      websocketpp  图片  桌面
[dev@localhost ~]$

文件压缩完后源文件不存在,压缩包解压后原压缩包也不存在。

(3)将家目录下的图片文件 logo.png 用bzip2格式进行文件压缩或解压缩。

压缩格式:

bzip2 logo.png
[dev@localhost ~]$ ls
code_-connection_point  linux                                       project      公共  文档
gobang                  logo.png                                    text.txt     模板  下载
install                 mysql80-community-release-el7-3.noarch.rpm  third_part   视频  音乐
install.sh              passwd                                      websocketpp  图片  桌面
[dev@localhost ~]$ bzip2 logo.png
[dev@localhost ~]$ ls
code_-connection_point  linux                                       project      公共  文档
gobang                  logo.png.bz2                                text.txt     模板  下载
install                 mysql80-community-release-el7-3.noarch.rpm  third_part   视频  音乐
install.sh              passwd                                      websocketpp  图片  桌面
[dev@localhost ~]$ bunzip2 logo.png.bz2
[dev@localhost ~]$ ls
code_-connection_point  linux                                       project      公共  文档
gobang                  logo.png                                    text.txt     模板  下载
install                 mysql80-community-release-el7-3.noarch.rpm  third_part   视频  音乐
install.sh              passwd                                      websocketpp  图片  桌面
[dev@localhost ~]$ 

文件压缩完后源文件不存在,压缩包解压后原压缩包也不存在。

2 tar

作用:打包指令,在对文件进行打包的同时指定某种压缩算法进行压缩,也可指定某种解压缩算法进行解压。

选项含义
-c打包
-x解包
-v显示详细的打包解包过程
-z打包或解包的同时使用gzip格式进行压缩或解压缩
-j打包或解包的同时使用bzip2格式进行压缩或解压缩
-f放于指令之后,此选项后跟上压缩包的名称
//将a目录下的文件和testdir目录下的文件text.txt文件进行打包
//打包使用gzip格式进行压缩,且显示打包的过程,最后压缩包命名为tmp.tar.gz
tar -cvzf tmp.tar.gz a/passwd testdir/text.txt

添加-v选项,回车会显示打包的过程中都打包了哪些文件。
进行打包过程:

[dev@localhost ~]$ tar -cvzf tmp.tar.gz a/passwd testdir/text.txt
a/passwd
testdir/text.txt
[dev@localhost ~]$ ls
a                       install.sh                                  project     websocketpp  图片  桌面
code_-connection_point  linux                                       testdir     公共         文档
gobang                  logo.png                                    third_part  模板         下载
install                 mysql80-community-release-el7-3.noarch.rpm  tmp.tar.gz  视频         音乐
[dev@localhost ~]$ 

进行解包过程:

[dev@localhost ~]$ tar -xvzf tmp.tar.gz
a/passwd
testdir/text.txt
[dev@localhost ~]$

四、用户操作指令

1 su指令-切换用户

//从当前用户切换到root用户
su root;

在进行用户的切换时,切换用户成功后得回到该用户的家目录才可进行相关的指令操作。

2 用户的创建删除及设置密码

//添加用户,-m选项表示默认创建家目录
useradd -m username
//删除用户,-r选项表示将创建的家目录这些文件给删除掉
userdel -r username
//给用户设置密码
passwd username

五、匹配与查找指令

1 grep

作用:字符串匹配功能,在指定的文件中匹配包含有指定字符串的行。

选项含义
-i忽略大小写查找相应的字符或字符串
-R针对指定目录下的所有文件进行内容的匹配,操作对象为目录并非一个文件
//在文件名为filename的文件中找包含字符串abcd的所在所有行
grep 'abcd' filename
//在当前目录下忽略大小写查找tcp所在的段行
grep -i -R 'tcp'

2 find

作用:在指定目录下,查找符合指定规则的文件。

选项含义
-name通过文件名来进行查找
-size通过文件大小来进行查找
-mtime n查找文件数据最后一次修改时间在n*24h前的文件
-atime n查找最后一次访问在n*24h前的文件,文件至少在两天前被访问过
-ctime通过文件创建时间来进行查找
-type通过文件类型来进行查找
//在当前目录下查找名为passwd的文件
find ./ -name "passwd"

有两个路径有文件passwd。

[dev@localhost ~]$ find ./ -name "passwd"
./a/passwd
./passwd
[dev@localhost ~]$

当我们通过文件名去查找文件的时候并不知道文件名的全部时,可以通过以下操作来完成查找。

//*表示任意字符串
//查找以wd为结尾字符的文件名
find ./ -name "*wd"
//查找以pass为初始字符的文件名
find ./ -name "pass*"
//查找文件名中含有ass字符串的文件名
find ./ -name "*ass*"

六、shell命令及其运行原理

Linux严格意义上说的是一个操作系统,称之为“ 内核(kernel)“ ,但一般用户不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。
shell被称为命令行解释器,其是用户与系统内核间的沟通桥梁。

shell被称为命令行解释器,主要包含:

  • 将用户的命令翻译给内核进行处理。
  • 之后又将核心的处理结果翻译反馈给使用者。

对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作,比如进入D盘的操作,我们通常是双击D盘盘符,或者运行起来一个应用程序。
shell 对于Linux,有相同的作用,主要是对用户指令进行解析,解析指令给Linux内核反馈结果再通过内核运行出结果,通过shell解析给用户。

本节完!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值