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私房菜】获取更多技术干货!
有什么吐槽或反馈意见,间接通知我!
我会解决您说的问题,进一步更好的服务您哦!
发表回复