www.zhblog.net

CentOS7 基本命令(四)

运行环境:vps

Linux版本:CnetOS7.4


1.pwd命令

显示用户当前所处的工作目录,格式:为“pwd [选项]”。

pwd [选项]

使用

[root@google ~]# pwd
/root
[root@google t]# pwd
/root/t


2.cd命令

切换工作路径,格式:

cd [目录名称]

“cd -”返回上一次的目录,“cd ..”返回上级目录,“cd ~”返回家目录

[root@google ~]# cd t
[root@google t]# cd /root
[root@google ~]# cd -
/root/t
[root@google t]# cd ..
[root@google ~]# cd /root/t
[root@google t]# cd ~
[root@google ~]# 


3.ls命令

显示目录中的文件信息,格式:

ls [选项] [文件]

常用参数

参数作用
-l查看文件的属性、大小等详细信息
-a查看全部文件(包括隐藏文件)
-d查看目录属性信息

使用

[root@google ~]# ls
a.log  bbr.sh  example.sh  install_bbr.log  Python-3.7.2  Python-3.7.2.tgz  ssr.sh  t  zjwx
[root@google ~]# ls -al
total 22564
dr-xr-x---  7 root root     4096 Feb 18 17:16 .
dr-xr-xr-x 19 root root     4096 Oct 18 14:37 ..
-rw-r--r--  1 root root       71 Oct 23 15:12 a.log
-rw-------  1 root root    53354 Feb 18 19:42 .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
-rwxr-xr-x  1 root root    11117 Sep 25 23:40 bbr.sh
drwx------  3 root root     4096 Sep 28 17:05 .cache
-rw-r--r--  1 root root      100 Dec 29  2013 .cshrc
-rw-r--r--  1 root root      138 Jan 21 15:30 example.sh
-rw-r--r--  1 root root     2222 Sep 25 23:42 install_bbr.log
-rw-------  1 root root     1209 Jan 18 22:19 .mysql_history
drwxr-----  3 root root     4096 Jun  6  2018 .pki
drwxr-xr-x 19  501  501     4096 Jan 11 20:03 Python-3.7.2
-rw-r--r--  1 root root 22897802 Dec 24 11:42 Python-3.7.2.tgz
-rwxr-xr-x  1 root root    61315 Sep 25 23:35 ssr.sh
drwxr-xr-x  4 root root     4096 Feb 18 11:04 t
-rw-r--r--  1 root root      129 Dec 29  2013 .tcshrc
-rw-------  1 root root     5496 Feb 18 17:16 .viminfo
drwxr-xr-x  7 root root     4096 Jan 17 21:03 zjwx
[root@google ~]# ls -d
.
[root@google ~]# ls -ld
dr-xr-x--- 7 root root 4096 Feb 18 17:16 .


4.touch命令

创建空白文件或设置文件的时间,格式:“touch [选项] [文件]”。

touch [选项] [文件]

创建空白文件

[root@google ~]# touch abc.txt
[root@google ~]# ls
abc.txt  a.log  bbr.sh  example.sh  install_bbr.log  Python-3.7.2  Python-3.7.2.tgz  ssr.sh  t  zjwx


修改文件时间

参数作用
-a仅修改“读取时间”(atime)
-m仅修改“修改时间”(mtime)
-d同时修改atime与mtime
[root@google ~]# ls -l abc.txt
-rw-r--r-- 1 root root 12 Feb 19 11:27 abc.txt
[root@google ~]# echo "hello world" >> abc.txt
[root@google ~]# ls -l abc.txt
-rw-r--r-- 1 root root 24 Feb 19 11:30 abc.txt
[root@google ~]# touch -d "2019-02-19 11:27" abc.txt
[root@google ~]# ls -l abc.txt
-rw-r--r-- 1 root root 24 Feb 19 11:27 abc.txt
[root@google ~]# stat abc.txt
  File: ‘abc.txt’
  Size: 24        	Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d	Inode: 28379       Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-02-19 11:27:00.000000000 +0800
Modify: 2019-02-19 11:27:00.000000000 +0800
Change: 2019-02-19 11:31:20.536654397 +0800
 Birth: -


5.mkdir命令

创建空的目录,格式:

mkdir [选项] 目录

mkdir可以创建一层空目录,-p参数可以创建多层级目录

[root@google ~]# mkdir a
[root@google ~]# ls
a  abc.txt  a.log  bbr.sh  example.sh  install_bbr.log  Python-3.7.2  Python-3.7.2.tgz  ssr.sh  t  zjwx
[root@google ~]# mkdir -p b/c/d
[root@google ~]# ls
a  abc.txt  a.log  b  bbr.sh  example.sh  install_bbr.log  Python-3.7.2  Python-3.7.2.tgz  ssr.sh  t  zjwx
[root@google ~]# cd b 
[root@google b]#


6.cp命令

复制文件或目录,格式:

cp [选项] 源文件 目标文件

目标文件中分三种情况:

如果目标文件是目录,则会把源文件复制到该目录中;

如果目标文件也是普通文件,则会询问是否要覆盖它;

如果目标文件不存在,则执行正常的复制操作。

常用参数

参数作用
-p保留原始文件的属性
-d若对象为“链接文件”,则保留该“链接文件”的属性
-r递归持续复制(用于目录)
-i若目标文件存在则询问是否覆盖
-a相当于-pdr(p、d、r为上述参数)

使用

[root@google ~]# ls
a  abc.txt  a.log  b  bbr.sh  bcd.txt  example.sh  install_bbr.log  Python-3.7.2  Python-3.7.2.tgz  ssr.sh  t  zjwx
[root@google ~]# cp abc.txt a
[root@google ~]# cp abc.txt bcd.txt
cp: overwrite ‘bcd.txt’? y
[root@google ~]# cp abc.txt abc.log
[root@google ~]# ls
a  abc.log  abc.txt  a.log  b  bbr.sh  bcd.txt  example.sh  install_bbr.log  Python-3.7.2  Python-3.7.2.tgz  ssr.sh  t  zjwx
[root@google ~]# cp -r b a
[root@google ~]# cd a
[root@google a]# ls
abc.txt  b


7.mv命令

移动文件或将文件重命名,格式:

mv [选项] 源文件 [目标路径|目标文件名]

目标为路径则移动,目标为文件名则重命名

[root@google a]# ls
abc.txt  b
[root@google a]# mv abc.txt b
[root@google a]# ls
b
[root@google a]# cd b
[root@google b]# ls
abc.txt  c
[root@google b]# mv abc.txt a.txt
[root@google b]# ls
a.txt  c


8.rm命令

删除文件或目录,格式:

rm [选项] 文件

常用参数

参数作用
-f强制删除
-r删除目录(递归删除)

使用

[root@google b]# ls
a.txt  c
[root@google b]# rm -f c
rm: cannot remove ‘c’: Is a directory
[root@google b]# rm -rf c
[root@google b]# ls
a.txt


9.dd命令

按照指定大小和个数的数据块来复制文件或转换文件,格式:

dd [参数]

常用参数

参数作用
if输入的文件名称
of输出的文件名称
bs设置每个“块”的大小
count设置要复制“块”的个数

读取图片1个1KB的数据块

[root@google t]# stat 23488s.jpg
  File: ‘23488s.jpg’
  Size: 15177     	Blocks: 32         IO Block: 4096   regular file
Device: fd01h/64769d	Inode: 141544      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-02-18 10:53:08.000000000 +0800
Modify: 2018-06-17 12:24:10.000000000 +0800
Change: 2019-02-18 10:53:08.022898114 +0800
 Birth: -
[root@google t]# dd if=23488s.jpg of=1jpg count=1 bs=1KB
1+0 records in
1+0 records out
1000 bytes (1.0 kB) copied, 0.000458453 s, 2.2 MB/s
[root@google t]# ls
1jpg  23488s.jpg
[root@google t]# stat 1jpg
  File: ‘1jpg’
  Size: 1000      	Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d	Inode: 142245      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-02-19 14:09:10.066150281 +0800
Modify: 2019-02-19 14:09:10.066150281 +0800
Change: 2019-02-19 14:09:10.066150281 +0800
 Birth: -


读取图片2个1K的数据块

[root@google t]# dd if=23488s.jpg of=2.jpg bs=1K count=2
2+0 records in
2+0 records out
2048 bytes (2.0 kB) copied, 0.000148721 s, 13.8 MB/s
[root@google t]# ls
1jpg  23488s.jpg  2.jpg


计量单位:

c =1, w =2, b =512, kB =1000, K =1024, MB =1000*1000, M =1024*1024, xM =MGB =1000*1000*1000, G =1024*1024*1024

Linux系统中有一个名为/dev/zero的设备文件,这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据,类似于生成器。

[root@google t]# dd if=/dev/zero of=data count=2 bs=10M
2+0 records in
2+0 records out
20971520 bytes (21 MB) copied, 0.0576374 s, 364 MB/s


把光驱设备中的光盘制作成iso格式的镜像文件

dd if=/dev/cdrom of=CentOS7.iso


10.file命令

查看文件的类型,格式:

file 文件名

查看上面我们读取的部分图片数据文件1jpg,没有后缀需要判断文件类型

[root@google t]# file 1jpg
1jpg: JPEG image data, JFIF standard 1.01


11.tar命令

对文件进行打包压缩或解压,格式:

tar [选项] [文件]

tar主要压缩文件.tar或.tar.gz或.tar.bz2格式

常用参数

参数作用
-c创建压缩文件
-x解开压缩文件
-t查看压缩包内有哪些文件
-z用Gzip压缩或解压
-j用bzip2压缩或解压
-v显示压缩或解压的过程
-f目标文件名
-p保留原始的权限与属性
-P使用绝对路径来压缩
-C指定解压到的目录

打包文件夹

[root@google t]# tar -czvf zhblog.tar zhblog
zhblog/
zhblog/index.html
zhblog/favicon.ico
zhblog/public/
zhblog/public/ptcms/
zhblog/public/ptcms/s_d98e2ebc672087ddba0be093199273e2.css?g=pccss
zhblog/robots.txt
[root@google t]# ls
1jpg  23488s.jpg  2.jpg  data  zhblog  zhblog.tar


解压到指定文件夹

[root@google t]# mkdir zhblog.net
[root@google t]# ls
1jpg  23488s.jpg  2.jpg  data  www.zwdu.com  zhblog  zhblog.net  zhblog.tar
[root@google t]# tar -xzvf zhblog.tar -C zhblog.net
zhblog/
zhblog/index.html
zhblog/favicon.ico
zhblog/public/
zhblog/public/ptcms/
zhblog/public/ptcms/s_d98e2ebc672087ddba0be093199273e2.css?g=pccss
zhblog/robots.txt
[root@google t]# cd zhblog.net
[root@google zhblog.net]# ls
zhblog


12.grep命令

在文本中执行关键词搜索,并显示匹配的结果,格式:

grep [选项] [文件]

常用参数

参数作用
-b将可执行文件(binary)当作文本文件(text)来搜索
-c仅显示找到的行数
-i忽略大小写
-n显示行号
-v反向选择——仅列出没有“关键词”的行

使用

[root@google ~]# echo "Hello World" >> abc.txt
[root@google ~]# grep -i "h" abc.txt
hello world
hello world
Hello World
[root@google ~]# grep -cinv "h" abc.txt
0
[root@google ~]# grep -c "h" abc.txt
2
[root@google ~]# grep -ci "h" abc.txt
3
[root@google ~]# grep -ni "h" abc.txt
1:hello world
2:hello world
3:Hello World
[root@google ~]# grep -niv "h" abc.txt
[root@google ~]# grep -nv "h" abc.txt
3:Hello World


13.find命令

按照指定条件来查找文件,格式:

find [查找路径] 寻找条件 操作

常见参数

参数作用
-name匹配名称
-perm匹配权限(mode为完全匹配,-mode为包含即可)
-user匹配所有者
-group匹配所有组
-mtime -n +n
匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n
匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n +n
匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser匹配无所有者的文件
-nogroup
匹配无所有组的文件
-newer f1 !f2匹配比文件f1新但比f2旧的文件
-type b/d/c/p/l/f
匹配文件类型(后面的字幕字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件的大小(+50为查找超过50KB的文件,而-50为查找小于50KB的文件)
-prune忽略某个目录
-exec …… {}\;
后面可跟用于进一步处理搜索结果的命令

查找1天内当前目录修改的文件

[root@google ~]# find . -mtime -1 -print
.
./a
./a/b
./a/b/a.txt
./abc.txt
./abc.log
./.bash_history
./bcd.txt
./24_file
./t
./t/2.jpg
./t/1jpg
./t/data
./t/zhblog.tar
./t/zhblog.net
./.viminfo
./b
./b/c
./b/c/d


查找当前目录10KB内的jpg类型图片文件

[root@google ~]# find . -name "*.jpg" -type f -size -10 -print
./zjwx/static/images/shuji/2099.jpg
./zjwx/static/images/shuji/2603.jpg
./zjwx/static/images/shuji/2597.jpg
./zjwx/static/images/shuji/2299.jpg
./zjwx/static/images/shuji/2799.jpg
./zjwx/static/images/shuji/2375.jpg
./Python-3.7.2/Lib/test/imghdrdata/python.jpg
./t/2.jpg


查找当前目录10KB内的jpg类型图片文件并复制到指定的目录

[root@google ~]# find . -name "*.jpg" -type f -size -10 -exec cp -a {} fj \;
[root@google ~]# cd fj
[root@google fj]# ls
2099.jpg  2299.jpg  2375.jpg  2597.jpg  2603.jpg  2799.jpg  2.jpg  python.jpg


“-exec {} \;”参数,其中的{}表示find命令搜索出的每一个文件,并且命令的结尾必须是“\;”

展开阅读全文

评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 心情