乐趣区

关于云计算:Linux云计算03必备基础命令

Linux 系统启动默认为字符界面,个别不会启动图形界面,所以对命令行的熟练程度能更加不便、高效的治理 Linux 零碎。

本章介绍 Linux 零碎必备命令各项参数及性能场景,Linux 常见命令包含:cd、ls、pwd、mkdir、rm、cp、mv、touch、cat、head、tail、chmod、vim 等。

1 cd 命令详解

cd 命令次要用于目录切换,例如:cd /home 切换至 /home 目录,cd /root 示意切换至 /root 目录;cd ../ 切换至上一级目录;cd ./ 切换至当前目录。

其中. 和.. 能够了解为相对路径,例如 cd ./test 示意以当前目录为参考,示意绝对于以后,而 cd /home/test 示意残缺的门路,了解为绝对路径),如下所示:

[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# cd /tmp
[root@superman-vm01 tmp]# 
[root@superman-vm01 tmp]# cd /home
[root@superman-vm01 home]# 
[root@superman-vm01 home]# cd ..
[root@superman-vm01 /]# 
[root@superman-vm01 /]# cd ./home
[root@superman-vm01 home]# 
[root@superman-vm01 home]# cd /etc/rc.d/rc3.d
[root@superman-vm01 rc3.d]# 
[root@superman-vm01 rc3.d]# cd ../..
[root@superman-vm01 etc]# 

2 ls 命令详解

ls 命令次要用于浏览目录下的文件或者文件夹,应用办法参考:ls ./ 查看当前目录所有的文件和目录,ls -a 查看所有的文件,包含暗藏文件, 以. 结尾的文件,罕用参数详解如下:

-a, --all                    不暗藏任何以. 开始的我的项目;-A, --almost-all            列出除. 及.. 以外的任何我的项目;--author                与 - l 同时应用时列出每个文件的作者;-b, --escape                以八进制溢出序列示意不可打印的字符;--block-size= 大小           块以指定大小的字节为单位;-B, --ignore-backups        不列出任何以 "~" 字符完结的我的项目;-d, --directory                当遇到目录时列出目录自身而非目录内的文件;-D, --dired                    产生适宜 Emacs 的 dired 模式应用的后果;-f                            不进行排序,-aU 选项失效,-lst 选项生效;-i, --inode                    显示每个文件的 inode 号;-I, --ignore=PATTERN        不显示任何合乎指定 shell PATTERN 的我的项目;-k                            即 --block-size=1K;-l                            应用较长格局列出信息;-n, --numeric-uid-gid        相似 -l,但列出 UID 及 GID 号;-N, --literal                输入未经解决的项目名称 (如不特地解决控制字符);-r, --reverse                排序时保留程序;-R, --recursive                递归显示子目录;-s, --size                    以块数模式显示每个文件调配的尺寸;-S                            依据文件大小排序;-t                            依据批改工夫排序;-u                            同 -lt 一起应用:依照拜访工夫排序并显示;同 - l 一起应用:显示拜访工夫并按文件名排序;其余:依照拜访工夫排序;-U                            不进行排序;依照目录程序列出我的项目;-v                            在文本中进行数字 (版本) 的天然排序。

2.1 长格局显示

-l 参数次要是能够看到文件的更具体的信息。

[root@superman-vm01 ~]# ls -l /
total 24
lrwxrwxrwx.   1 root root    7 Jul  4 08:08 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Jul  4 08:22 boot
drwxr-xr-x   20 root root 3320 Jul  7 06:55 dev
drwxr-xr-x. 138 root root 8192 Jul  7 06:55 etc
drwxr-xr-x.   3 root root   22 Jul  4 08:17 home
lrwxrwxrwx.   1 root root    7 Jul  4 08:08 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Jul  4 08:08 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 Jul  4 08:13 opt
dr-xr-xr-x  187 root root    0 Jul  7 06:55 proc
dr-xr-x---.  15 root root 4096 Jul  6 08:42 root
drwxr-xr-x   39 root root 1220 Jul  7 06:55 run
lrwxrwxrwx.   1 root root    8 Jul  4 08:08 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Apr 11  2018 srv
dr-xr-xr-x   13 root root    0 Jul  7 06:55 sys
drwxrwxrwt.  27 root root 4096 Jul  7 07:01 tmp
drwxr-xr-x.  13 root root  155 Jul  4 08:08 usr
drwxr-xr-x.  20 root root  282 Jul  4 08:22 var
[root@superman-vm01 ~]# 

-rw-r--r--

第一个横行示意文件类型,常见有
-   一般文件:d   目录
l   链接文件
c   字符设施(即串行端口的接口设施,例如伪终端等)b   块设施(磁盘)s   套接字文件(通常用在网络数据连贯)p   管道文件

# Linux 目录构造:/ 根目录
/boot          搁置 linux 系统启动时的内核文件以及引导文件。/dev           寄存 linux 零碎下的设施文件
/etc           零碎配置文件寄存的目录
/home          零碎默认的用户家目录
/lib,lib64     动静连贯共享库
/media         挂载可挪动的设施
/opt           寄存第三方软件
/root          管理员家目录
/bin,/sbin     可执行二进制命令
/run           临时文件系统目录
/srv           晚期存放数据目录
/tmp           寄存临时文件
/usr           应用程序目录
/var           寄存动静文件,比方日志
/mnt           长期挂载目录

2.2 显示暗藏文件

- a 参数能够显示暗藏文件。

[root@superman-vm01 ~]# ls -a
.   anaconda-ks.cfg  .bash_logout   .bashrc  .config  .dbus    Documents  .esd_auth      initial-setup-ks.cfg  Music     Public  .tcshrc    Videos
..  .bash_history    .bash_profile  .cache   .cshrc   Desktop  Downloads  .ICEauthority  .local                Pictures  .ssh    Templates  .viminfo
[root@superman-vm01 ~]# 

3 pwd 命令详解

pwd 命令次要用于显示或者查看以后所在的目录门路,如下所示:

[root@superman-vm01 ~]# cd /etc
[root@superman-vm01 etc]# 
[root@superman-vm01 etc]# pwd
/etc
[root@superman-vm01 etc]# 
[root@superman-vm01 etc]# cd /etc/sysconfig/network-scripts/
[root@superman-vm01 network-scripts]# 
[root@superman-vm01 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@superman-vm01 network-scripts]# 
[root@superman-vm01 network-scripts]# cd /var/log
[root@superman-vm01 log]# 
[root@superman-vm01 log]# pwd
/var/log
[root@superman-vm01 log]#

4 mkdir 命令详解

mkdir 命令次要用于创立目录,用法 mkdir dirname,命令后接目录的名称,罕用参数详解如下:

用法:mkdir [选项]... 目录;若指定目录不存在则创立目录;长选项必须应用的参数对于短选项时也是必须应用的;-m, --mode= 模式                设置权限模式(相似 chmod),而不是 rwxrwxrwx 减 umask;-p, --parents               须要时创立目标目录的下层目录,但即便这些目录已存在也不当作错误处理;-v, --verbose               每次创立新目录都显示信息;-Z, --context=CTX           将每个创的目录的 SELinux 平安环境设置为 CTX;--help                      显示此帮忙信息并退出;--version                      显示版本信息并退出。

4.1 递归创立目录

-p 主动创立下级目录,如果下级目录不存在;如果目录曾经,则不创立,不会提醒报错。

[root@superman-vm01 ~]# mkdir /home/a/b       
mkdir: cannot create directory‘/home/a/b’: No such file or directory
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# mkdir -p /home/a/b
[root@superman-vm01 ~]# 

4.2 指定目录权限

-m 能够指定创立目录时的权限。

[root@superman-vm01 ~]# mkdir /home/c
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# ls -l /home
total 0
drwxr-xr-x  3 root     root     15 Jul  7 07:27 a
drwxr-xr-x  2 root     root      6 Jul  7 07:31 c
drwx------. 4 superman superman 97 Jul  7 07:26 superman
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# mkdir -m 640 /home/d
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# ls -l /home
total 0
drwxr-xr-x  3 root     root     15 Jul  7 07:27 a
drwxr-xr-x  2 root     root      6 Jul  7 07:31 c
drw-r-----  2 root     root      6 Jul  7 07:32 d
drwx------. 4 superman superman 97 Jul  7 07:26 superman
[root@superman-vm01 ~]# 

5 rm 命令详解

rm 命令次要用于删除文件或者目录,用法 rm –rf test.txt (- r 示意递归,- f 示意强制),罕用参数详解如下:

用法:rm [选项]... 文件... 删除 (unlink) 文件。-f, --force                    强制删除。疏忽不存在的文件,不提醒确认;-i                            在删除前须要确认;-I                            在删除超过三个文件或者递归删除前要求确认。此选项比 -i 提醒内容更少,但同样能够阻止大多数谬误产生;-r, -R, --recursive            递归删除目录及其内容;-v, --verbose                  具体显示进行的步骤;--help                        显示此帮忙信息并退出;--version                     显示版本信息并退出;默认时,rm 不会删除目录,应用 --recursive(-r 或 -R)选项可删除每个给定的目录,以及其下所有的内容;要删除第一个字符为 "-" 的文件 (例如 "-foo"),请应用以下办法之一:rm -- -foo
rm ./-foo

6 cp 命令详解

cp 命令次要用于拷贝文件,用法,cp old.txt /tmp/new.txt,罕用来备份,如果拷贝目录须要加 - r 参数,罕用参数详解如下:

用法:cp [选项]... [-T] 源文件 指标文件
 或:cp [选项]... 源文件... 目录
 或:cp [选项]... -t 目录 源文件...
将源文件复制至指标文件,或将多个源文件复制至目标目录。长选项必须应用的参数对于短选项时也是必须应用的。-a, --archive                        等于 -dR --preserve=all;--backup[=CONTROL                为每个已存在的指标文件创建备份;-b                                   相似 --backup 但不承受参数;--copy-contents                  在递归解决是复制非凡文件内容;-d                                   等于 --no-dereference --preserve=links;-f, --force                          如果指标文件无奈关上则将其移除并重试(当 -n 选项;存在时则不需再选此项);-i, --interactive                    笼罩前询问(使后面的 -n 选项生效);-H                                   追随源文件中的命令行符号链接;-l, --link                           链接文件而不复制;-L, --dereference                    总是追随符号链接;-n, --no-clobber                     不要笼罩已存在的文件(使后面的 -i 选项生效);-P, --no-dereference                 不追随源文件中的符号链接;-p                                   等于 --preserve= 模式, 所有权, 工夫戳;--preserve[= 属性列表              放弃指定的属性(默认:模式, 所有权, 工夫戳),如果;可能放弃附加属性:环境、链接、xattr 等;-c                                   same as --preserve=context;--sno-preserve= 属性列表           不保留指定的文件属性;--parents                        复制前在目标目录创立起源文件门路中的所有目录;-R, -r, --recursive                  递归复制目录及其子目录内的所有内容。

6.1 复制更新的文件

-u 只 复制源文件有更新 的,否则不执行。

# 第一次将 abc.txt 复制到 /home 目录:[root@superman-vm01 ~]# cat abc.txt
123
456
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# cp abc.txt /home

#更新文件
[root@superman-vm01 ~]# echo "this is update" > abc.txt  
[root@superman-vm01 ~]# cat abc.txt
this is update
[root@superman-vm01 ~]# 

#- u 参数复制:[root@superman-vm01 ~]# cp -u abc.txt /home
cp: overwrite‘/home/abc.txt’? y
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# cat abc.txt
this is update
[root@superman-vm01 ~]# 
#不更新文件,再次复制,并没有进行替换:[root@superman-vm01 ~]# cp -u abc.txt /home
[root@superman-vm01 ~]#

6.2 复制软连贯

-d|-a复制软连贯,这里要留神创立软连贯时最好为绝对路径,否则可能会呈现生效的软连贯。

[root@superman-vm01 ~]# ln -s /root/abc.txt abc1.txt
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# ls -l 
total 12
lrwxrwxrwx  1 root root   13 Jul  7 07:59 abc1.txt -> /root/abc.txt
-rw-r--r--  1 root root   15 Jul  7 07:48 abc.txt
-rw-------. 1 root root 2002 Jul  4 08:18 anaconda-ks.cfg
drwxr-xr-x. 2 root root    6 Jul  4 08:30 Desktop
drwxr-xr-x. 2 root root    6 Jul  4 08:30 Documents
drwxr-xr-x. 2 root root    6 Jul  4 08:30 Downloads
-rw-r--r--. 1 root root 2050 Jul  4 08:27 initial-setup-ks.cfg
drwxr-xr-x. 2 root root    6 Jul  4 08:30 Music
drwxr-xr-x. 2 root root    6 Jul  4 08:30 Pictures
drwxr-xr-x. 2 root root    6 Jul  4 08:30 Public
drwxr-xr-x. 2 root root    6 Jul  4 08:30 Templates
drwxr-xr-x. 2 root root    6 Jul  4 08:30 Videos
[root@superman-vm01 ~]# 

#如果间接复制,不带参数,会导致软连贯生效,间接创立一般文件
[root@superman-vm01 ~]# cp abc1.txt /data
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# ls -l /data
total 4
-rw-r--r-- 1 root root 15 Jul  7 08:00 abc1.txt
[root@superman-vm01 ~]# 

#加上参数:[root@superman-vm01 ~]# cp -d abc1.txt /data
cp: overwrite‘/data/abc1.txt’? y
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# ls -l /data
total 0
lrwxrwxrwx 1 root root 13 Jul  7 08:00 abc1.txt -> /root/abc.txt
[root@superman-vm01 ~]# 

6.3 备份复制

-S 复制同名文件到目标目录时,对源文件进行备份,且自定义备份文件后缀名。

# 第一次复制
[root@superman-vm01 ~]# cp abc.txt /data
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# ls /data
abc1.txt  abc.txt
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# ls -l /data
total 4
lrwxrwxrwx 1 root root 13 Jul  7 08:00 abc1.txt -> /root/abc.txt
-rw-r--r-- 1 root root 15 Jul  7 08:03 abc.txt
[root@superman-vm01 ~]#

#第二次复制,对源文件进行备份:[root@superman-vm01 ~]# \cp -S ".`date +%F`" abc.txt /data
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# ls /data
abc1.txt  abc.txt  abc.txt.2021-07-07
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# ll /data
total 8
lrwxrwxrwx 1 root root 13 Jul  7 08:00 abc1.txt -> /root/abc.txt
-rw-r--r-- 1 root root 15 Jul  7 08:05 abc.txt
-rw-r--r-- 1 root root 15 Jul  7 08:03 abc.txt.2021-07-07
[root@superman-vm01 ~]# 

6.4 通用参数

-a 如果参数都记不住,就记住它吧,能够实现递归,复制软连贯,保留文件属性。

7 mv 命令详解

mv 命令次要用于重命名或者挪动文件或者目录,用法, mv old.txt new.txt,罕用参数详解如下:

用法:mv [选项]... [-T] 源文件 指标文件;或:mv [选项]... 源文件... 目录;或:mv [选项]... -t 目录 源文件;将源文件重命名为指标文件,或将源文件挪动至指定目录。长选项必须应用的参数对于短选项时也是必须应用的。--backup[=CONTROL]               为每个已存在的指标文件创建备份;-b                                     相似 --backup 但不承受参数;-f, --force                         笼罩前不询问;-i, --interactive                   笼罩前询问;-n, --no-clobber                    不笼罩已存在文件,如果您指定了 -i、-f、-n 中的多个,仅最初一个失效;--strip-trailing-slashes        去掉每个源文件参数尾部的斜线;-S, --suffix=SUFFIX                 替换罕用的备份文件后缀;-t, --target-directory=DIRECTORY    将所有参数指定的源文件或目录;挪动至 指定目录;-T, --no-target-directory           将指标文件视作一般文件解决;-u, --update                        只在源文件文件比指标文件新,或指标文件;不存在时才进行挪动;-v, --verbose                           具体显示进行的步骤;--help                                 显示此帮忙信息并退出;--version                           显示版本信息并退出。

8 touch 命令详解

touch 命令次要用于创立一般文件,用法为 touch test.txt,如果文件存在,则示意批改以后文件工夫,罕用参数详解如下:

用法:touch [选项]... 文件...
将每个文件的拜访工夫和批改工夫改为以后工夫;不存在的文件将会被创立为空文件,除非应用 -c 或 -h 选项;如果文件名为 "-" 则非凡解决,更改与规范输入相干的文件的拜访工夫;长选项必须应用的参数对于短选项时也是必须应用的;-a                           只更改拜访工夫;-c, --no-create              不创立任何文件;-d, --date= 字符串              应用指定字符串示意工夫而非以后工夫;-f                           (疏忽);-h, --no-dereference         会影响符号链接自身,而非符号链接所批示的目的地;(当零碎反对更改符号链接的所有者时,此选项才有用);-m                           只更改批改工夫;-r, --reference= 文件            应用指定文件的工夫属性而非以后工夫;-t STAMP                     应用[[CC]YY]MMDDhhmm[.ss] 格局的工夫而非以后工夫;--time=WORD                  应用 WORD 指定的工夫:access、atime、use 都等于 -a;选项的成果,而 modify、mtime 等于 -m 选项的成果;--help                         显示此帮忙信息并退出;--version                    显示版本信息并退出。

9 cat 命令详解

cat 命令次要用于查看文件内容,用法 cat test.txt 能够查看 test.txt 内容,罕用参数详解如下:

用法:cat [选项]... [文件]...
将 [文件] 或规范输出组合输入到规范输入。-A, --show-all                    等于 -vET;-b, --number-nonblank             对非空输入行编号;-e                                等于 -vE;-E, --show-ends                   在每行完结处显示 "$";-n, --number                      对输入的所有行编号;-s, --squeeze-blank               不输入多行空行;-t                                与 -vT 等价;-T, --show-tabs                   将跳格字符显示为 ^I;-u                                (被疏忽);-v, --show-nonprinting            应用 ^ 和 M - 援用,除了 LFD 和 TAB 之外;--help                            显示此帮忙信息并退出;--version                         显示版本信息并退出。

9.1 查看文件内容

[root@superman-vm01 ~]# cat -n /etc/fstab
     1
     2  #
     3  # /etc/fstab
     4  # Created by anaconda on Sun Jul  4 08:07:23 2021
     5  #
     6  # Accessible filesystems, by reference, are maintained under '/dev/disk'
     7  # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
     8  #
     9  /dev/mapper/vg00-lv_root /                       xfs     defaults        0 0
    10  UUID=0e73085e-969b-4e8e-8aa5-83120ce58f76 /boot                   xfs     defaults        0 0
    11  /dev/mapper/vg00-lv_swap swap                    swap    defaults        0 0
[root@superman-vm01 ~]# 

9.2 创立文件

# EOF 示意结束符,能够自定义,如下:# 以笼罩得形式写文件
[root@superman-vm01 ~]# cat abc.txt
this is update
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# cat > abc.txt << EOF
> this is superman
> EOF
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# cat abc.txt
this is superman
[root@superman-vm01 ~]# 

# 以追加得形式写文件
[root@superman-vm01 ~]# cat abc.txt
this is superman
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# cat >> abc.txt <<f
> I am from Zhengzhou
> f
[root@superman-vm01 ~]# 
[root@superman-vm01 ~]# cat abc.txt
this is superman
I am from Zhengzhou
[root@superman-vm01 ~]# 

10 head 命令详解

head 命令次要用于查看文件内容,通常查看文件前 10 行,head -10 /var/log/messages 能够查看该文件前 10 行的内容,罕用参数详解如下:

用法:head [选项]... [文件]...
将每个指定文件的头 10 行显示到规范输入。如果指定了多于一个文件,在每一段输入前会给出文件名作为文件头。如果不指定文件,或者文件为 "-",则从规范输出读取数据,长选项必须应用的参数对于短选项时也是必须应用的;-q, --quiet, --silent                不显示蕴含给定文件名的文件头;-v, --verbose                        总是显示蕴含给定文件名的文件头;--help                               显示此帮忙信息并退出;--version                            显示版本信息并退出;-c,  --bytes=[-]K                    显示每个文件的前 K 字节内容,如果附加 "-" 参数,则除了每个文件的最初 K 字节数据外显示残余全部内容;-n, --lines=[-]K                     显示每个文件的前 K 行内容,如果附加 "-" 参数,则除了每个文件的最初 K 行外显示残余全部内容。

11 tail 命令详解

tail 命令次要用于查看文件内容,通常查看开端 10 行,tail –fn 100 /var/log/messages 能够实时查看该文件开端 100 行的内容,罕用参数详解如下:

用法:tail [选项]... [文件]...
显示每个指定文件的最初 10 行到规范输入。若指定了多于一个文件,程序会在每段输入的开始增加相应文件名作为头。如果不指定文件或文件为 "-",则从规范输出读取数据。长选项必须应用的参数对于短选项时也是必须应用的。-n, --lines=K                          输入的总行数,默认为 10 行;-q, --quiet, --silent                  不输入给出文件名的头;--help                                   显示此帮忙信息并退出;--version                                显示版本信息并退出;-f, --follow[={name|descriptor}]    即时输入文件变动后追加的数据;-f, --follow 等于 --follow=descriptor 
-F            即 --follow=name –retry
-c, --bytes=K                         输入最初 K 字节;另外,应用 -c +K 从每个文件的第 K 字节输入。

12 chmod 命令详解

chmod 命令次要用于批改文件或者目录的权限,例如 chmod o+w test.txt,赋予 test.txt 其他人 w 写权限,罕用参数详解如下:

用法:chmod [选项]... 模式[, 模式]... 文件...
 或:chmod [选项]... 八进制模式 文件...
 或:chmod [选项]... --reference= 参考文件 文件,将每个文件的模式更改为指定值。-c, --changes                     相似 --verbose,但只在有更改时才显示后果
    --no-preserve-root          不非凡看待根目录(默认);--preserve-root             禁止对根目录进行递归操作;-f, --silent, --quiet             去除大部份的错误信息;-R, --recursive                 以递归形式更改所有的文件及子目录;--help                            显示此帮忙信息并退出;--version                         显示版本信息并退出;-v, --verbose                     为解决的所有文件显示诊断信息;--reference= 参考文件              应用指定参考文件的模式,而非自行指定权限模式。

13 chown 命令详解

chown 命令次要用于文件或者文件夹宿主及属组的批改,命令格局例如 chown –R root.root /tmp/test.txt,示意批改 test.txt 文件的用户和组均为 root,罕用参数详解如下:

用法:chown [选项]... [所有者][:[组]] 文件...
 或:chown [选项]... --reference= 参考文件 文件...
更改每个文件的所有者和 / 或所属组。当应用 --referebce 参数时,将文件的所有者和所属组更改为与指定参考文件雷同。-f, --silent, --quiet 去除大部份的错误信息
--reference= 参考文件             应用参考文件的所属组,而非指定值;-R, --recursive                 递归解决所有的文件及子目录;-v, --verbose                   为解决的所有文件显示诊断信息;-H                                 命令行参数是一个通到目录的符号链接,则遍历符号链接;-L                                历每一个遇到的通到目录的符号链接;-P                                 历任何符号链接(默认);--help                          显示帮忙信息并退出;--version                         显示版本信息并退出。

14 echo 命令详解

echo 命令次要用于打印字符或者回显,例如输出 echo ok,会显示 ok,echo ok > test.txt 则会把 ok 字符笼罩 test.txt 内容。> 示意笼罩,原内容被笼罩,>> 示意追加,原内容不变。

例如 echo ok >> test.txt, 示意向 test.txt 文件追加 OK 字符,不笼罩原文件里的内容,罕用参数详解如下:

应用 - e 扩大参数选项时,与如下参数一起应用,有不同含意,例如:\a 收回警告声
\b 删除前一个字符
\c 最初不加上换行符号;\f 换行但光标仍旧停留在原来的地位;\n 换行且光标移至行首;\r 光标移至行首,但不换行;\t 插入 tab;\v 与 \f 雷同;\\ 插入 \ 字符;\033[30m 彩色字 \033[0m
\033[31m 红色字 \033[0m
\033[32m 绿色字 \033[0m
\033[33m 黄色字 \033[0m
\033[34m 蓝色字 \033[0m
\033[35m 紫色字 \033[0m
\033[36m 天蓝字 \033[0m
\033[37m 红色字 \033[0m
\033[40;37m 黑底白字 \033[0m
\033[41;37m 红底白字 \033[0m
\033[42;37m 绿底白字 \033[0m
\033[43;37m 黄底白字 \033[0m
\033[44;37m 蓝底白字 \033[0m
\033[45;37m 紫底白字 \033[0m
\033[46;37m 天蓝底白字 \033[0m
\033[47;30m 白底黑字 \033[0m

echo 色彩打印扩大,auto_lamp_v2.sh 内容如下:

echo -e "\033[36mPlease Select Install Menu follow:\033[0m"
echo -e "\033[32m1)Install Apache Server\033[1m"
echo "2)Install MySQL Server"
echo "3)Install PHP Server"
echo "4)Configuration index.php and start LAMP server"
echo -e "\033[31mUsage: { /bin/sh $0 1|2|3|4|help}\033[0m"

执行后果如图所示:

15 df 命令详解

df 命令罕用于磁盘分区查问,常用命令 df –h,查看磁盘分区信息,罕用参数详解如下:

用法:df [选项]... [文件]...
显示每个文件所在的文件系统的信息,默认是显示所有文件系统。长选项必须应用的参数对于短选项时也是必须应用的。-a, --all                  显示所有文件系统的应用状况,包含虚构文件系统;-B, --block-size=SIZE      应用字节大小块;-h, --human-readable       以人们可读的模式显示大小;-H, --si                   同 -h,然而强制应用 1000 而不是 1024;-i, --inodes               显示 inode 信息而非块使用量;-k                         即 --block-size=1K;-l, --local                只显示本机的文件系统;--no-sync              获得使用量数据前不进行同步动作(默认);-P, --portability          应用 POSIX 兼容的输入格局;--sync                 获得使用量数据前先进行同步动作;-t, --type= 类型                只显示指定文件系统为指定类型的信息;-T, --print-type           显示文件系统类型;-x, --exclude-type= 类型        只显示文件系统不是指定类型信息;--help                       显示帮忙信息并退出;--version                    显示版本信息并退出。

16 du 命令详解

du 命令罕用于查看文件在磁盘中的使用量,常用命令 du -sh,查看当前目录所有文件及文件及的大小,罕用参数详解如下:

用法:du [选项]... [文件]...
 或:du [选项]... --files0-from=F
计算每个文件的磁盘用量,目录则取总用量。长选项必须应用的参数对于短选项时也是必须应用的。-a, --all                       输入所有文件的磁盘用量,不仅仅是目录;--apparent-size                    显示外表用量,而并非是磁盘用量;尽管外表用量通常会小一些,但有时它会因为稠密文件间的 "洞"、外部碎片、非间接援用的块等起因而变大;-B, --block-size= 大小           应用指定字节数的块;-b, --bytes                     等于 --apparent-size --block-size=1;-c, --total                     显示总计信息;-H                             等于 --dereference-args (-D);-h, --human-readable            以可读性较好的形式显示尺寸(例如:1K 234M 2G);--si                        相似 -h,但在计算时应用 1000 为基底而非 1024;-k                             等于 --block-size=1K;-l, --count-links                   如果是硬连贯,就屡次计算其尺寸;-m                             等于 --block-size=1M;-L, --dereference               找出任何符号链接批示的真正目的地;-P, --no-dereference                不追随任何符号链接(默认);-0, --null                      将每个空行视作 0 字节而非换行符;-S, --separate-dirs                 不包含子目录的占用量;-s, --summarize                 只别离计算命令列中每个参数所占的总用量;-x, --one-file-system               跳过处于不同文件系统之上的目录;-X, --exclude-from= 文件         排除与指定文件中形容的模式相符的文件;-D, --dereference-args              解除命令行中列出的符号连贯;--files0-from=F             计算文件 F 中以 NUL 结尾的文件名对应占用的磁盘空,如果 F 的值是 "-",则从规范输出读入文件名。

如上为 Linux 初学者必备命令,当然 Linux 命令还有很多,前面章节会随时学习新的命令。

17 vi|vim 编辑器

vi 是一个命令行界面下的文本编辑工具,最早在 1976 年由 Bill Joy 开发,过后名字叫做 ex。vi 反对绝大多数操作系统(最早在 BSD 上公布),并且性能曾经非常弱小

1991 年 Bram Moolenaar 基于 vi 进行改良,公布了 vim,退出了对 GUI 的反对。

随着 VIM 更新倒退,vim 曾经不是一般意义上的文本编辑器,而是被宽泛的作为在文本编辑、方本解决、代码开发等用处,Linux 中支流的文本编辑器包含:vi、vim、sublime、emacs、light table、eclipse、gedit 等。

vim 弱小的编辑能力中很大部分是来自于其一般模式命令。vim 的设计理念是命令的组合。

  • “5dd”5 示意总共 5 行,删除光标所在后的 5 行,蕴含光标行;
  • “d$”$” 代表行尾, 删除到行尾的内容,蕴含光标;
  • “2yy”示意复制光标及后 2 行,包含光标行;
  • “%d”% 代表全副或者全局,%d 示意删除文本所有的内容,也即是清空文档所有的内容。

vim 是一个支流开源的编辑器,其默认执行 vim 命令,会显示帮忙乌干达贫苦的孩子,如图为 vim 与键盘键位性能对应关系:

17.1 vim 编辑器模式

Vim 编辑器模式罕用有三种,别离是:

  • 命令行模式;
  • 文本输出模式;
  • 末行模式。

vim 是 vi 的降级版本,它是装置在 Linux 操作系统中的一个软件,官网为:www.vim.org

在 Linux Shell 终端下默认执行 vim 命令,按 Enter 键后:

  • 默认进入命令行模式;
  • 在命令行模式按 i 进入文本输出模式;
  • 按 ESC 进入命令行模式;
  • 按: 进入末行模式。

17.2 vim 编辑器必备

vim 编辑器最弱小的性能,就在于外部命令及规定应用,如下为 vim 编辑器最罕用的语法及规定:

命令行模式:能够删除、复制、粘贴、撤销,能够切换到输出模式,输出模式跳转至命令行模式:按 ESC 键。yy                         复制光标所在行;nyy                        复制 n 行;3yy                        复制 3 行;p,P                        粘贴;yw                         复制光标所在的词组,不会复制标点符号;3yw                        复制三个词组;u                          吊销上一次;U                          吊销以后所有;dd                         删除整行;ndd                     删除 n 行;x                          删除一个字符;u                          逐行撤销;dw                         删除一个词组;a                        从光标所在字符后一个地位开始录入;i                        从光标所在字符前一个地位开始录入;I                        从光标所在行的行首开始录入;o                        跳至光标所在行的下一行行首开始录入;O                        跳至光标所在行的上一行行首开始录入;末行模式次要性能包含:查找、替换、末行保留、退出等;:w                        保留;:q                        退出;:s/x/y                  替换 1 行;:wq                     保留退出;1,5s/x/y                 替换 1,5 行;:wq!                    强制保留退出;1,$sx/y                 从第一行到最初一行;:q!                        强制退出;:x                        保留;/word                    从前往后找,正向搜寻;?word                    从后往前走,反向搜寻;:s/old/new/g              将 old 替换为 new,前提是光标肯定要移到那一行;:s/old/new                将这一行中的第一次呈现的 old 替换为 new,只替换第一个;:1,$s/old/new/g            第一行到最初一行中的 old 替换为 new;:1,2,3s/old/new/g          第一行第二行第三行中的 old 改为 new;

​ 欢送关注我的微信公众号【超哥的 IT 私房菜】获取更多技术干货!

​ 有什么吐槽或反馈意见,间接通知我!
​ 我会解决您说的问题,进一步更好的服务您哦!

欢送关注我的微信公众号【超哥的 IT 私房菜】获取更多技术干货!
有什么吐槽或反馈意见,间接通知我!
我会解决您说的问题,进一步更好的服务您哦!

退出移动版