Linux 常用基础命令大全

Linux和Windows操作系统完全不同,Linux更注重命令,这让一些刚接触Linux的朋友不知所措,本人搜集了一些常用linux版本的常用命令,希望对各位学习者有一定的帮助。

apt-get
Debian/Ubuntu
系统包管理器

apt-get 是Debian/Ubuntu系统中
一个用于快速下载/安装的简单命令行管理工具!

包管理器

参数介绍:  

1.   # 命令:

2.   update – 检索 新的包列表

3.   upgrade – 升级 可更新的所有软件包

4.   install – 安装 新软件包(pkg是libc6不是libc6.deb)

5.   remove – 删除 软件包

6.   autoremove – 自动删除 所有未使用的软件包

7.   purge – 删除 软件包和配置文件

8.   clean – 清除 已下载的归档文件

9.   autoclean – 清除 旧的下载的档案文件

10.  check – 验证 是否有损坏的依赖

11.  download – 下载 二进制包到当前目录

13.  # 选项:

14.  -q :不输出任何信息

15.  -qq :除了错误之外,没有输出

16.  -d :仅下载,不要安装或解压缩存档

17.  -y :对所有确定询问都选择 Yes,并且不提示

18.  -f :尝试纠正 被破坏依赖关系的系统

19.  -m :如果存档是可定位的,则尝试继续

20.  -u :显示升级包的列表

21.  -b :在获取源代码包后构建源包

23.  # 更多的命令可以用 apt-get
–help 查看。

使用示例:  

1.   # 检索 新的包列表

2.   apt-get update

4.   # 升级 可更新的所有软件包(注意这个命令会升级所有的软件包,所以会升级很长时间)

5.   apt-get upgrade

7.   # 安装 Nginx 软件包

8.   apt-get install nginx

10.  # 卸载 Nginx 软件包

11.  apt-get
remove nginx

13.  # 卸载 Nginx 软件包 并删除所有相关配置文件

14.  apt-get remove –purge nginx 

15.  # 在安装软件和卸载的时候,为了避免误操作,都会询问是否继续,每次都要输入 y 来确定会很麻烦,可以加上 -y 参数

16.  # 安装 Nginx 软件包 并不显示确定提示

17.  apt-get install nginx -y

18.   # 卸载 Nginx 软件包,删除所有相关配置文件 并不显示提示

19.  apt-get remove –purge nginx -y

21.  # 清除 旧的/无用 的软件包

22.  apt-get clean && apt-get autoclean 

23.  # 下载 Nginx 二进制软件包到当前目录,但不解压和安装

24.  apt-get download nginx -d

26.  # 更多的命令可以用 apt-get
–help 查看。

yum CentOS系统包管理器

yum 是CentOS系统中 一个用于快速下载/安装的简单命令行管理工具!

参数介绍:  

1.   # 命令: 

3.   update – 检索 新的包列表

4.   upgrade – 升级 软件包

5.   search – 搜索 软件包

6.   install – 安装 软件包

7.   list – 列出 软件包或者软件包组

8.   info – 显示软件包或者软件包组的详细信息

9.   erase – 删除 软件包(这两个命令一样)

10.  remove – 删除 软件包(这两个命令一样)

11.  groupinfo – 显示 有关包组的详细信息

12.  groupinstall – 安装 软件包组(就像一种软件合集)

13.  grouplist – 列出 可用的软件包组

14.  groupremove – 删除 软件包

15.  check – 检查 软件包

16.  check-update – 检查 可更新的软件包

17.  clean – 清除 缓存目录内的软件包

18.  deplist – 列出 一个包的依赖关系

19.  distribution-synchronization – 同步 已安装的软件包到最新的版本

20.  downgrad – 降级 一个软件包

21.  reinstall – 重新安装 软件包(自动删除重装)

22.  repolist – 显示 配置的软件包仓库

23.  resolvedep – 确定 软件包需要的依赖关系

24.   # 选项:

25.  -t :容忍错误

26.  -C :完全从系统缓存运行,不要更新缓存

27.  -R 分钟 :最大命令等待时间

28.  -q :安静的操作

29.  -y :对于所有问题回答是

30.  –nogpgcheck :禁用gpg签名检查

32.  # 更多的命令可以用 yum –help 查看。

使用示例:  

1.   # 检索 新的包列表

2.   yum update

4.   # 安装 Nginx 软件包

5.   yum install nginx

7.   # 安装 Development
Tools 软件包组(这个软件包组中包含了编译所需的软件)

8.   # 注意:当软件包或者软件包组的名字中包含空格的时候,请把 软件包或软件包组 加上双引号!

9.   yum groupinstall
“Development Tools” 

10.  # 卸载 Nginx 软件包

11.  yum erase nginx / yum remove
nginx

13.  # 卸载 Development
Tools 软件包组

14.  yum groupremove “Development
Tools”

16.  # 升级 所有可更新的软件包

17.  yum upgrade

18.   # 升级 Nginx 可更新的软件包

19.  yum upgrade
nginx

21.  # 在安装软件和卸载的时候,为了避免误操作,都会询问是否继续,每次都要输入 y 来确定会很麻烦,可以加上 -y 参数

22.  # 安装 Nginx 软件包 并不显示确定提示

23.  yum install nginx -y

25.  # 卸载 Nginx 软件包 并不显示确定提示

26.  yum erase nginx -y / yum remove
nginx -y

27.   # 搜索 Nginx 软件包是否存着

28.  yum search nginx

30.  # 列出 可用的软件包

31.  yum list 

32.  # 列出 可用的软件包组

33.  yum grouplist

35.  # 清除 缓存目录中的所有软件包

36.  yum clean

38.  # 清除 缓存目录中的 Nginx 软件包

39.  yum clean nginx

40.   # 重装 Nginx 软件包

41.  yum reinstall
nginx

43.  # 更多的命令可以用 yum –help 查看。

文件/文件夹 操作

以下除特殊说明,都以当前目录为 /root 示例。

mkdir 新建 文件夹

1.
#
在当前文件夹新建一个 bash 文件夹,完整的绝对路径就是 /root/bash

2.
mkdir
bash

4.
#
更多的命令可以用 mkdir –help 查看。

cd 进入 文件夹

1.
#
你当前在 /root目录中,使用这个命令会进入 /root/bash目录,这是相对路径

2.
cd
bash

3.
#
如果你不在 /root目录中的话,就不能用上面的相对路径了,就需要绝对路径

4.
cd /root/bash—————————————————————————————————————

5.
#
假设你当前在 /root/bash目录中,使用相对路径,你可以用这个命令进入上一级 /root目录, .. 代表相对路径 上级目录

6.
cd ..

7.
#
当然你也可以用绝对路径来进入上一级 /root目录

8.
cd /root

cp 复制或重命名 文件/文件夹    

1.   # 你当前在 /root目录中,使用这个命令会进入 /root/bash目录,这是相对路径

2.   cd bash

3.   # 如果你不在 /root目录中的话,就不能用上面的相对路径了,就需要绝对路径

4.   cd /root/bash

5.   —————————————————————————————————————

6.   # 假设你当前在 /root/bash目录中,使用相对路径,你可以用这个命令进入上一级 /root目录, .. 代表相对路径 上级目录

7.   cd ..

8.   # 当然你也可以用绝对路径来进入上一级 /root目录

9.   cd /root

cp 复制或重命名 文件/文件夹    

1.   # 复制当前目录内的 log.txt文件到 /var目录

2.   cp log.txt /var/log.txt

4.   # 复制当前目录内的 bash文件夹到 /home目录cp -R bash /home/bash

5.   —————————————————————————————————————

6.   # 复制当前目录内的所有.txt后缀的文件到 /var/log目录

7.   cp *.txt /var/log

8.    # 复制当前目录内的所有以 doubi开头的文件到 /var/log目录

9.   cp doubi* /var/log

11.  # 复制当前目录内的所有以 doubi开头 以.txt后缀结尾的文件到 /var/log目录

12.  cp doubi*.txt /var/log—————————————————————————————————————

13.  # 假设当前目录是
/root/doubi/log,要把这个目录中的所有.txt后缀的文件复制到上一级目录 /root/doubi,那么这样做

14.  cp *.txt ..

16.  # .. 就是相对路径,代表上一级目录,当然你也可以用绝对路径,这样更不容易出错cp *.txt /root/doubi

17.  —————————————————————————————————————

18.  # 重命名当前目录内的 log.txt文件为 log2.txt

19.  cp log.txt log2.txt

20.   # 复制当前目录内的 log.txt文件到 /var目录并重命名为 log1.txt

21.  cp log.txt /var/log1.txt

23.  # 复制当前目录内的 bash文件夹到 /home目录并重命名为 bash2

24.  cp -R bash /home/bash2—————————————————————————————————————

25.  # 复制当前目录内的 log.txt文件到 /var目录,但是 /var 目录中已经存着 log.txt,那么会提示 cp: overwrite `/var/log.txt’? 可以用 -f 强制覆盖

26.  cp -f log /var/log.txt

28.  # 大家可能会发现,当你使用 cp -f 强制覆盖的时候,依然会询问你是否覆盖,这是因为 CP 为了避免你手误,默认加上了 -i 参数(该参数代表每次覆盖必须询问)。

29.  # 所以想要避免 CP 默认的 -i 参数,只需要在 CP 命令前面加上斜杠即可 “/”

30.  /cp -f log /var/log.txt

32.  # 复制当前目录内的 log.txt
log1.txt log2.txt文件和 log233目录到 /home/log目录中

33.  cp -R log.txt log1.txt log2.txt log233 /home/log 

34.  # 更多的命令可以用 cp –help 查看。

mv 移动或重命名 文件/文件夹

1. # 关于 mv 命令,可以参考上面 cp 的使用方法,没什么区别,只是一个是复制,一个是移动,把上面 cp 命令改成 mv 就能套用了。

3.
#
移动当前目录内的 log.txt文件到 /var目录

4.
mv
log.txt /var/log.txt

6.
#
移动当前目录内的 bash文件夹到 /home目录

7.
mv
bash /home/bash

8.
—————————————————————————————————————

9.
#
重命名当前目录内的 log.txt文件为 log2.txt

10.
mv
log.txt log2.txt

12.
#
复制当前目录内的 log.txt文件到 /var目录并重命名为 log1.txt

13.
mv
log.txt /var/log1.txt

15.
#
复制当前目录内的 bash文件夹到 /home目录并重命名为 bash2

16.
mv
bash /home/bash2

18.
#
更多的命令可以用 mv –help 查看。

rm 删除 文件/文件夹

1.
#
删除当前目录下的 log.txt文件

2.
rm
log.txt

4.
#
删除当前目录下所有.txt后缀的文件

5.
rm *.txt

7. # 使用 rm 命令删除时,会提示你是否确定删除,输入 y 即删除,输入 n 则取消

8. #
rm: remove regular file `log.txt’? y

9.
—————————————————————————————————————

10.
#
删除当前目录下所有.txt后缀的文件

11.
rm *.txt

13.
#
删除当前目录下所有以 doubi开头的文件

14.
rm
doubi*

16.
#
删除当前目录下所有以 doubi开头
.txt后缀结尾的文件

17.
rm
doubi*.txt

18.
—————————————————————————————————————

19.
#
当你用 rm 删除目录的时候会发现提示这不是一个文件

20.
#
rm bash

21.
rm:
cannot remove `bash’: Is a directory

22.
#
可以加上 -r 来归递删除目录及其目录下的内容

23.
rm -r bash

24.
—————————————————————————————————————

25.
#
因为为了避免手误删除错误,所以 rm默认是加上了 -i 的参数,也就是每一次删除文件/目录都会提示,如果觉得烦可以用 -rf 参数

26.
rm -rf bash

28. #
rm -rf
这个命令请慎重使用,而且千万不要使用 rm -rf / 或者 rm -rf /* 之类的命令(系统自杀),可能会让你系统爆炸,所以使用请慎重!

30.
#
更多的命令可以用 rm –help 查看。

查看/编辑文件 操作

ls 显示目录中文件

1.
#
显示当前目录下的所有文件

2.
ls -a

3.
—————————————————————————————————————

4.
#
命令后面加上 绝对路径/相对路径
就会显示指定文件夹内的所有文件

5.
ls -a bash/log

7.
#
相对路径,当前目录是 /root ,欲查看的目录是 /root/bash/log

8.
ls -a /root/bash/log

10.
#
绝对路径, 当前目录是 /root ,欲查看的目录是 /root/bash/log

12.
#
更多的命令可以用 ls –help 来查看。

du 查看 文件/文件夹 占用磁盘空间的大小

参数介绍:  

1.   -h :以人类易读的方式显示

2.   -a :显示 目录占用的磁盘空间大小,并显示其下目录和文件占用磁盘空间的大小

3.   -s :显示 目录占用的磁盘空间大小,但不显示其下子目录和文件占用的磁盘空间大小

4.   -c :显示几个目录或文件占用的磁盘空间大小,还要统计它们的总和

5.   –apparent-size:显示目录或文件自身的大小

6.   -l :统计硬链接占用磁盘空间的大小

7.   -L :统计符号链接所指向的文件占用的磁盘空间大小

8.   # 待写…

10.  # 更多的命令可以用 du –help 来查看。

使用示例:  

1.   # 假设当前位于 /root 目录下,则显示 /root 文件夹的大小,但不显示其子目录和文件的大小

2.   du -sh

4.   # 假设当前位于 /root 目录下,则显示 /root 文件夹的大小,并显示其子目录和文件的大小

5.   du -ah

7.   # 假设当前位于 /root 目录下,则显示 /root 文件夹下的所有文件夹的大小及其总和

8.   du -lh –max-depth=1

10.  # 更多的命令可以用 du –help 来查看。

cat 查看文件内容

假设 log.txt文件的内容为:  

1.   doubi233

2.   doubi

5.   doubi666

7.   doubi2366

8.   doubi8888

查看文件:  

1.   # 查看 log.txt文件的所有内容

2.   cat log.txt

3.   # 输出示例如下

4.   doubi233

5.   doubi 

8.   doubi666

10.  doubi2366

11.  doubi8888

13.  # 查看 log.txt文件的所有内容,并对所有行编号

14.  cat -n log.txt

15.  # 输出示例如下:

16.   1 doubi233

17.   2 doubi

18.   3  

19.   4  

20.   5 doubi666

21.   6  

22.   7 doubi2366

23.   8 doubi8888

25.  # 查看 log.txt文件的所有内容,并对非空行编号

26.  cat -b log.txt

27.  # 输出示例如下:

28.   1 doubi233

29.   2 doubi

32.   3 doubi666

34.   4 doubi2366

35.   5 doubi8888

37.  # 查看 log.txt文件的所有内容,并对非空行编号,且不输出多行空行

38.  cat -bs log.txt

39.  # 输出示例如下:

40.   1 doubi233

41.   2 doubi

43.   3 doubi666

45.   4 doubi2366

46.   5 doubi8888

清空文件:  

1.   # 清空当前目录中的 log.txt 文件

2.   cat /dev/null > log.txt

4.   # 清空 /var目录中的 log.txt 文件

5.   cat /dev/null > /var/log.txt

写入文件:  

1.   # 写入文本到当前目录中的 log.txt文件中(加入文本到文件内容最后)

2.   cat >> log.txt <<-EOF

3.   doubi

4.   doubi233

5.   doubi666

6.   EOF

8.   # 清空文件并写入文本到 /var目录中的 log.txt文件中(先清空后写入)

9.   cat > /var/log.txt <<-EOF

10.  doubi

11.  doubi233

12.  doubi666

13.  EOF

15.  # 更多的命令可以用 cat –help 来查看。

head 查看文件内容(主要用于正查)

参数介绍:  

1.   -c 数字:显示指定文件的前 xx 字节的内容(bytes)

2.   -n 数字:显示指定文件的前 xx 行的内容

3.   -q :不显示包含指定文件名的文件头(当使用 head打开多个文件的时候,会去在每个文件输出结果的顶部添加一个包含文件名的文件头用于区分)

5.   # 更多的命令可以用 head –help 来查看。

使用示例:

假设 log.txt 文件内容为:  

1.   doubi1

2.   doubi2

3.   doubi3

4.   doubi4

5.   doubi5  

1.   # 查看 log.txt文件的全部内容

2.   head log.txt 

4.   # 查看 log.txt文件的前 3字节的内容

5.   head -c 3 log.txt 

7.   # 输出示例

8.   dou

10.  # 查看 log.txt文件的前 2行的内容

11.  head -n 2 log.txt

13.  # 输出示例

14.  doubi1

15.  doubi2

17.  # 查看 log.txt文件的从倒数第2行到行首的内容

18.  head -n -2 log.txt

20.  # 输出示例

21.  doubi1

22.  doubi2

23.  doubi3

25.  # 查看 log.txt
log1.txt log2.txt文件的前 3行内容

26.  head -n 3 log.txt log1.txt log2.txt

28.  # 更多的命令可以用 head –help 来查看。

tail 查看文件内容(主要用于倒查)

1.
-c 数字:如果数字为正数(例如 -c +5),显示指定文件从行首第 xx 字节到最后的内容;如果数字为负数(例如 -c -5),显示指定文件从行尾第 xx 字节到最后内容。

2.
-n 数字:如果数字为正数(例如 -c +3),显示指定文件从行首第 xx 行到最后的内容;如果数字为负数(例如 -c -3),显示指定文件从行尾第 xx 行到最后的内容。

3.
-f :即时输出文件变化后增加的内容,也就是监视一个文件的内容变化(常用于监视日志输出),使用 Ctrl+C 终止

5.
#
更多的命令可以用 tail –help 来查看。

使用示例:

假设 log.txt 文件内容为:  

1.   doubi1

2.   doubi2

3.   doubi3

4.   doubi4

5.   doubi5  

1.   # 查看 log.txt文件的全部内容

2.   tail log.txt 

4.   # 查看 log.txt文件从行首 第25字节到最后的内容

5.   tail -c +25 log.txt

7.   # 输出示例

8.   bi4

9.   doubi5

11.  # 查看 log.txt文件从行尾 第4字节到最前面的内容

12.  tail -c -4 log.txt

14.  # 输出示例

15.  bi5

17.  # 查看 log.txt文件的从第2行到最后一行的内容

18.  tail -n +2 log.txt

20.  # 输出示例

21.  doubi2

22.  doubi3

23.  doubi4

24.  doubi5

26.  # 查看 log.txt文件的后 2行的内容

27.  tail -n -2 log.txt

29.  # 输出示例

30.  doubi4

31.  doubi5

33.  # 持续查看(监视) log.txt文件的变化内容(新增加的内容),使用 Ctrl+C 终止

34.  tail -f log.txt

36.  # 查看 log.txt
log1.txt log2.txt文件的前 3行内容

37.  tail -n 3 log.txt log1.txt log2.txt

39.  # 更多的命令可以用 tail –help 来查看。

sed 查看/编辑文件内容

参数介绍:  

1.   -i :操作后应用保存到原文件(如果不加这个参数,那么任何修改都不会影响原文件里的内容,只会把结果输出)

2.   -e :仅显示处理后的结果

3.   # 待写…

5.   # 更多的命令可以用 sed –help 来查看。

使用示例:  

1.   # 查看 log.txt 第3行的内容

2.   sed -n ‘3p’ log.txt  

4.   # 查看 log.txt 第2-8行的内容

5.   sed -n ‘2,8p’ log.txt

7.   # 删除 log.txt 第1行(首行)

8.   sed -i ‘1d’ log.txt

10.  # 删除 log.txt 第3-7行

11.  sed -i ‘3,7d’ log.txt

13.  # 删除 log.txt 最后1行(尾行)

14.  sed -i ‘$d’ log.txt

16.  # 删除 log.txt 中所有空白行

17.  sed -i ‘/^$/d’ log.txt

19.  # 删除 log.txt 开头是 doubi 的行

20.  sed -i ‘/^doubi/’d log.txt

22.  # 删除 log.txt 结尾是 doubi 的行

23.  sed -i ‘/doubi$/’d log.txt

25.  # 删除 log.txt 文件中所有包含 233内容的行

26.  sed -i ‘/233/d’ log.txt

28.  # 删除 log.txt 文件中第一个 233文本

29.  sed -i ‘s/233//’ log.txt

31.  # 删除 log.txt 文件中所有 233文本(g 代表操作所有匹配规则的文本)

32.  sed -i ‘s/233//g’ log.txt

34.  # 删除 log.txt 文件中所有 第5个233文本(5g 代表第五个匹配规则的文本)

35.  sed -i ‘s/233//5g’ log.txt

37.  # 替换 log.txt 文件中第一个 233为666

38.  sed -i ‘s/233/666/’ log.txt

40.  # 替换 log.txt 文件中所有 233为666(g 代表操作所有匹配规则的文本)

41.  sed -i ‘s/233/666/g’ log.txt

43.  # 替换 log.txt 文件中所有 /ver 为 doubi/,因为有斜杠,所以需要使用 \ 转义,但是单引号会导致无法转义,所以要改成双引号。

44.  sed -i “s/\/ver/doubi\//” log.txt

46.  # 显示 log.txt 文件中的奇数行或偶数行

47.  sed -n ‘p;n’ log.txt #奇数行

48.  sed -n ‘n;p’ log.txt #偶数行

50.  # 更多的命令可以用 sed –help 来查看。

VIVIMNano 编辑文件内容

VI 介绍

VI 是Linux很棒的一个文本编辑器,不过也存在一些缺点,比如操作麻烦。而 vim就相当于 VI 的加强版,主要介绍 VIM

VIM 介绍

使用教程:Linux 文本编辑器 VIM 真 · 简单使用教程 

1.   # 打开当前目录下的 log.txt文件,如果没有那么会新建 log.txt文件(安装vim后,使用 vi和 vim打开文件没区别)

2.   vi log.txt

3.   vim log.txt

5.   # 在命令行模式下,直接输入以下 符号和字母(区分大小写)

6.   ## 进入编辑模式(插入模式,按 Esc 即可返回命令行模式)

7.   i

8.   ## 删除光标当前所在的一行

9.   dd

10.  ## 删除文件内所有内容

11.  dddG

12.  ## 复制光标当前所在的一行

13.  yy

14.  ## 粘贴刚才复制的一行内容

15.  p

16.  ## 撤销上个操作(误操作可以用这个恢复)

17.  u

18.  ## 保存当前文件( : 是英文的冒号)

19.  :w

20.  ## 另存当前文件内容为 log2.txt

21.  :w log2.txt

22.  ## 退出当前文件

23.  :q

24.  ## 不保存 并强制退出当前文件

25.  :q!

26.  ## 保存并退出当前文件

27.  :wq

29.  # 更多的命令可以用 vi –help /
vim –help 来查看。

Nano 介绍

使用教程:Linux 更适合新手的文本编辑器 Nano 真 · 简单使用教程

Nano 相对 VIM 更适合新手使用。 

1.   # 打开当前目录下的 log.txt文件,如果没有那么会新建 log.txt文件

2.   nano log.txt

4.   # 进入后直接就可以输入修改文本内容了,修改后我们可以使用这个 按键保存内容

5.   Ctrl+O

7.   # 如果不需要编辑了,那么可以用这个 按键退出当前文件

8.   Ctrl+X

10.  # 如果你在退出前已经修改但没有保存,那么会提醒你是否保存,如果保存就输入 y ,不保存输入 n

11.  # 然后就会让你输入要保存的文件名(默认原文件名,所以直接按 Enter回车即可,除非你要另存为其他文件名)

12.  Enter

14.  # 更多的命令可以在 nano 编辑界面中按 F1键 查看。

解压缩 操作

Linux中经常会下载到压缩文件,而压缩文件的格式有很多,比如 ziprargzxztar.gztar.xz等。

比较常见的就是各种 .tar.tar.xz.tar.gz.tar.bz.tar.bz2.tar.Z 后缀压缩包,这几个的解压缩命令基本一样,说明一下参数的意义。

tar 本身只是一个打包的作用,而 .tar 后面的 .zx / .gz / .bz 等等才是压缩格式,也就是比如 log.tar.gz 压缩包,就是先用 .tar 把指定文件/文件夹打包到一起,然后再用 gz 来压缩打包后的 .tar .tar.gz

        

1.   -x 是从压缩文件提取(解压)文件出来,所以在解压命令中都有这个参数。

2.   -c :创建一个新的压缩包文件,所以在压缩命令中都有这个参数。

3.   -f :指定要解压的压缩包文件或要压缩的文件/文件夹,所以这个参数必须放在 解压缩命令参数的最后,然后后面跟着 要解压到压缩包文件或要压缩的文件/文件夹。

4.   -j :解压缩 bz / bz2 格式的参数

5.   -J :解压缩 xz / lzip 格式的参数

6.   -z :解压缩 gz / tgz 格式的参数

7.   -Z :解压缩 Z 格式的参数

8.   -v :详细列出解压缩过程中处理的文件

9.    

10.  # 更多的命令可以用 tar –help 来查看。

tar gz zip 解压 压缩包 示例

1.
#
解压后缀为 .tar 的压缩包

2.
tar -xf log.tar

3.
—————————————————————————————————————

4.
#
解压后缀为 .tar.xz 的压缩包

5.
tar -xJf log.tar.xz

6.
—————————————————————————————————————

7.
#
解压后缀为 .tar.gz 的压缩包,有两个方法

8.
tar -xzf log.tar.gz

9.
—————————————————————————————————————

10.
#
解压后缀为 .gz 的压缩包,有两个方法,如提示命令不存在,请安装 yum install gzip -y / apt-get install gzip -y

11.
gzip -d log.gz

12.
gunzip
log.gz

13.
—————————————————————————————————————

14.
#
解压后缀为 .bz / .bz2 /
tar.bz2
的压缩包,有两个方法

15.
bzip2 -d log.bz

16.
bunzip2
log.bz

17.
tar -jxf log.tar.bz

19.
bzip2 -d log.bz2

20.
bunzip2
log.bz2

21.
tar -jxf log.tar.bz2

22.
—————————————————————————————————————

23.
#
解压后缀为 .Z / tar.Z 的压缩包,有两个方法

24.
uncompress
log.Z log.txt

25.
uncompress
log.Z log

26.
—————————————————————————————————————

27.
tar
xZf log.tar.Z log.txt

28.
tar
xZf log.tar.Z log

29.
—————————————————————————————————————

30.
#
解压后缀为 .rar 的压缩包,如提示命令不存在,请安装 yum install unrar -y / apt-get install unrar -y ,注意 rar unrar 是分开的

31.
unrar
x log.rar

32.
—————————————————————————————————————

33.
#
解压后缀为 .zip 的压缩包,如提示命令不存在,请安装 yum install unzip -y / apt-get install unzip -y,注意 zip unzip 是分开的

34.
unzip
log.zip

36.
#
更多的命令可以用 tar –help /
gzip –help / unrar –help / unzip –help
来查看。

压缩 文件/文件夹 示例

1.
#
分别压缩当前目录下的 log.txt文件 / log文件夹为 log.tar 压缩包

2.
tar -cf log.tar log.txt

3.
tar -cf log.tar log

4.
—————————————————————————————————————

5. # 如果要压缩多个文件和文件夹,那么只需要在后面一直加下去即可

6. tar cf log.tar log.txt
doub
.txt log bash

7.
—————————————————————————————————————

8.
# 分别压缩当前目录下的 log.txt文件 / log文件夹为 log.tar.xz 压缩包,以下的其他后缀压缩命令都是一样

9.
tar -cJf log.tar.xz log.txt

10.
tar -cJf log.tar.xz log

11.
—————————————————————————————————————

12.
#
分别压缩当前目录下的 log.txt文件 / log文件夹为 log.tar.gz 压缩包

13.
tar -czf log.tar.gz log.txt

14.
tar -czf log.tar.gz log

15.
—————————————————————————————————————

16.
#
分别压缩当前目录下的 log.txt文件 / log文件夹为 log.gz 压缩包

17.
gzip
log.gz log.txt

18.
gzip
log.gz log

19.
—————————————————————————————————————

20.
#
分别压缩当前目录下的 log.txt文件 / log文件夹为 log.tar.bz 压缩包

21.
暂时没查到

22.
—————————————————————————————————————

23.
#
分别压缩当前目录下的 log.txt文件 / log文件夹为 log.bz / log.tar.bz / log.bz2 /
log.tar.bz2
压缩包

24.
bzip2 -z log.txt

25.
bzip2 -z log

27.
tar
cjf log.tar.bz2 log.txt

28.
tar
cjf log.tar.bz2 log

29.
—————————————————————————————————————

30.
#
分别压缩当前目录下的 log.txt文件 / log文件夹为 log.Z / log.tar.Z 压缩包

31.
compress log.txt

32.
compress
log

34.
tar
cZf log.tar.Z log.txt

35.
tar
cZf log.tar.Z log

36.
—————————————————————————————————————

37.
#
分别压缩当前目录下的 log.txt文件 / log文件夹为 log.rar 压缩包,如提示命令不存在,请安装 yum install rar -y / apt-get install rar -y ,注意 rar unrar 是分开的

38.
unrar
a log.rar log.txt

39.
unrar
a log.rar log

40.
—————————————————————————————————————

41.
#
分别压缩当前目录下的 log.txt文件 / log文件夹为 log.zip 压缩包,如提示命令不存在,请安装 yum install zip -y / apt-get install zip -y ,注意 zip unzip 是分开的

42.
zip
log.zip log.txt

43.
zip
log.zip log

45.
#
更多的命令可以用 tar –help /
gzip –help / rar –help / zip –help
来查看。

网络工具

wget 下载工具

wget 是Linux系统最常用的工具之一,命令行方式的多功能下载工具,支持HTTPHTTPSFTP协议。

参数介绍:  

1.   # 只介绍最常用的参数

2.   # 如果提示命令不存在,那么使用 yum install
wget -y / apt-get install wget -y 来安装(有一些非常精简的系统可能会没装)

4.   -b :启动后,后台下载

5.   -q :安静模式(不输出任何信息)

6.   -c :断点续传下载文件

7.   -O :指定下载后的文件名(可使用绝对路径目录+文件名)

8.   -P :指定下载后的文件目录(-P只能指定下载目录,并不能指定文件名)

9.   -t :设置重试次数(0代表无限)

10.  -T :设置超时时间(单位:秒)

11.  -N :只获取比本地新的文件(新的覆盖旧的)

12.  -4 :仅连接至 IPv4地址

13.  -6 :仅连接至 IPv6地址

14.  –limit-rate=xxxk :限制下载速度(k代表KB/S)

15.  –post-data :通过POST方式发送数据

16.  –no-check-certificate :不验证服务器的SSL证书

18.  # 更多的命令可以用 wget –help 来查看。

使用示例:  

1.   # 下载一个文件到当前目录

2.   wget https://yun.doubibackup.com/100MB.bin

4.   # 下载文件到当前目录并重命名为 200MB.bin

5.   wget -O “200MB.bin” https://yun.doubibackup.com/100MB.bin

7.   # 下载文件到 /root目录(-P只能指定下载目录,并不能指定文件名)

8.   wget -P “/root” https://yun.doubibackup.com/100MB.bin

10.  # 下载文件到 /root/doubi目录并重命名为 200MB.bin

11.  wget -O “/root/doubi/200MB.bin” https://yun.doubibackup.com/100MB.bin

13.  # 下载文件完成之前 wget进程结束了,那么可以使用断点续传重新下载中断的文件(前提是下载服务器支持断点续传)

14.  wget -c https://yun.doubibackup.com/100MB.bin

16.  # 通过后台下载文件到 /root/doubi目录并重命名为 200MB.bin

17.  wget -b -O “/root/doubi/200MB.bin” https://yun.doubibackup.com/100MB.bin

18.  # Continuing
in background, pid 2333.

19.  # Output will
be written to `wget-log’.

20.  # 后台下后,你可以使用以下命令来查看下载进度:

21.  tail -f wget-log

23.  # 有时候一些Linux系统中的SSL证书不完整,会导致下载一些 HTTPS网站文件的时候会验证SSL证书失败,可以这样做

24.  # 不验证服务器SSL证书,下载文件到当前目录并重命名为 200MB.bin

25.  wget –no-check-certificate -O “200MB.bin” https://yun.doubibackup.com/100MB.bin

27.  # 使用wget发送POST请求数据

28.  wget –post-data “user=doubi&passwd=23333” https://xxx.xx/

30.  # 下载文件到当前目录 并仅通过IPv4连接 只获取比本地新的文件,限速 200KB/S

31.  wget –limit-rate=200k -N -4 https://yun.doubibackup.com/100MB.bin

33.  # 下载文件到当前目录 并重试次数为 1,超时时间为 2秒

34.  wget -t1 -T2 https://yun.doubibackup.com/100MB.bin

36.  # 通过 wget来获取服务器的外网IP(-qO- 代表运行完会输出下载的信息,并不会保存到本地文件)

37.  wget -qO- ipinfo.io/ip

39.  # 更多的命令可以用 wget –help 来查看。

curl 下载工具

curl是Linux系统一个利用URL规则在命令行下工作的文件传输工具,是一款很强大的HTTP命令行工具。它支持文件的上传和下载,是综合传输工具,但习惯称curl为下载工具。

参数介绍:  

1.   # 只介绍最常用的参数

2.   # 如果提示命令不存在,那么使用 yum install
curl -y / apt-get install curl -y 来安装(有一些非常精简的系统可能会没装) 

4.   -s :安静模式(不会输出任何信息)

5.   -C :断点续传下载文件

6.   -o :输出写入到文件中

7.   -O :输出写入到文件,文件名为 远程文件的名称

8.   -k :不验证服务器SSL证书

9.   -T :上传文件

10.  -4 :仅连接至 IPv4地址

11.  -6 :仅连接至 IPv6地址

12.  -m :设置传输总时间(单位:秒)

13.  –retry :设置重试次数

14.  –data :通过POST方式发送数据

15.  –limit-rate xxxK :限制下载速度(K代表KB/S)

17.  # 更多的命令可以用 curl –help 来查看。

使用示例:  

1.   # 获取当前服务器的外网IP

2.   curl ipinfo.io/ip

4.   # 获取一个文件保存到当前目录中

5.   wget -O https://yun.doubibackup.com/Bash/ssr.sh

7.   # 获取一个文件保存到 /root/doubi目录中 并修改文件名为 233.sh

8.   curl -o “/root/doubi/233.sh” https://yun.doubibackup.com/Bash/ssr.sh

10.  # 下载文件完成之前 curl进程结束了,那么可以使用断点续传重新下载中断的文件(前提是下载服务器支持断点续传)

11.  curl -C -O https://yun.doubibackup.com/100MB.bin

13.  # 有时候一些Linux系统中的SSL证书不完整,会导致访问/下载一些 HTTPS网站/文件的时候会验证SSL证书失败,可以这样做

14.  # 不验证服务器SSL证书,下载文件到当前目录并重命名为 233.sh

15.  curl -k -o “233.sh” https://yun.doubibackup.com/Bash/ssr.sh 

17.  # 使用curl发送GET请求数据

18.  curl https://xxx.xx/?user=doubi

20.  # 使用curl发送POST请求数据

21.  curl –data “user=doubi&passwd=23333” https://xxx.xx/

23.  # 下载文件到当前目录 并仅通过IPv4连接,限速 200KB/S

24.  curl –limit-rate 200K -4 https://yun.doubibackup.com/100MB.bin

26.  # 下载文件到当前目录 并重试次数为 1,超时时间为 2秒

27.  curl –retry 1 -m 10 https://yun.doubibackup.com/100MB.bin

29.  # 更多的命令可以用 curl –help 来查看。

netstat 查看链接和端口监听等信息

参数介绍:  

1.   -n :不显示别名(主机名/域名以 数字或IP显示)

2.   -e :显示其他/更多信息

3.   -p :显示进程PID/进程名

4.   -c :持续输出(设置后会每隔 1秒输出一次,Ctrl+C 终止)

5.   -l :显示正在监听的套接字

6.   -a :显示全部信息

8.   # 下面这些就不很常用了。

9.   -r :显示路由表

10.  -i :显示网络接口(网卡)

11.  -g :显示多播组信息

12.  -s :显示网络统计

13.  -M :显示伪装连接

14.  -v :显示正在进行的工作

16.  # 更多的命令可以用 netstat
–help 来查看。

使用示例:  

1.   # 显示当前服务器的所有连接信息

2.   netstat -a

4.   # 显示当前服务器的所有 TCP连接信息

5.   netstat -at

7.   # 显示当前服务器的所有 UDP连接信息

8.   netstat -au

10.  # 显示当前服务器的所有 端口监听信息

11.  netstat -lnp

13.  # 显示当前服务器的所有 TDP端口监听信息

14.  netstat -lntp

一般来说经常使用这个命令: 

1.   # 显示当前服务器的所有正在监听 TCP端口的信息,并且 显示进程PID和进程名,但不显示别名(域名以IP显示),这个命令算是最常用的了。

2.   netstat lntp

4.   # 输出示例

5.   Active Internet connections (only servers)

6.   Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

7.   tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 14233/nginx.conf

8.   tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1555/sshd  

9.   tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 14233/nginx.conf

10.  tcp6 0 0 :::22 :::* LISTEN 1555/sshd

11.  —————————————————————————————————————

12.  # 显示监听 80端口的进程PID和进程名,grep是匹配并显示 符合关键词的行。

13.  netstat lntp|grep “:80”

15.  # 输出示例

16.  Active Internet connections (only servers)

17.  Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

18.  tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 14233/nginx.conf

19.  —————————————————————————————————————

20.  # 显示 ssh的监听情况,grep是匹配并显示 符合关键词的行。

21.  netstat lntp|grep “ssh”

23.  # 输出示例

24.  Active Internet connections (only servers)

25.  Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

26.  tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1555/sshd

表头解释:  

1.   Proto :连接协议(tcp/udp是IPv4,tcp6/udp6是IPv6)

2.   Recv-Q : 接收队列(基本都是0,如果不是代表堆积)

3.   Send-Q :发送队列(基本都是0,如果不是代表堆积)

4.   Local Address :本地地址和端口

5.   Foreign Address :对外地址和端口

6.   State :连接状态

7.   PID/Program name :进程PID/进程名  

1.   # 每隔 1秒显示一次当前服务器的所有连接信息

2.   netstat -c 

4.   # 每隔 1秒显示一次当前服务器的所有 TCP连接信息

5.   netstat -ct

7.   # 每隔 1秒显示一次当前服务器的所有 UDP连接信息

8.   netstat -cu

10.  # 显示当前服务器的路由表

11.  netstat -r

13.  # 显示当前服务器的网络接口信息(网卡)

14.  netstat -i

16.  # 显示当前服务器的网络统计信息

17.  netstat -s

19.  # 更多的命令可以用 netstat
–help 来查看。

在使用 netstat命令中,会显示一些连接状态,下面是各状态的意思: 

1.   LISTEN

2.   # 监听来自远程连接的 TCP端口连接请求

4.   SYN-SENT

5.   # 在发送连接请求后,等待匹配的连接请求

7.   SYN-RECEIVED

8.   # 在收到和发送一个连接请求后,等待对方对连接请求的确认 

10.  ESTABLISHED

11.  # 代表一个打开的连接  

13.  FIN-WAIT-1

14.  # 等待远程 TCP连接中断请求,或先前的连接中断请求的确认

16.  FIN-WAIT-2

17.  # 从远程 TCP等待连接中断请求   

19.  CLOSE-WAIT

20.  # 等待从本地用户发来的连接中断请求  

22.  CLOSING

23.  # 等待远程TCP对连接中断的确认  

25.  LAST-ACK

26.  # 等待原来的发向远程TCP的连接中断请求的确认  

28.  TIME-WAIT

29.  # 等待足够的时间,以确保远程TCP接收到连接中断请求的确认  

31.  CLOSED

32.  # 没有任何连接状态(或者关闭了连接)

系统命令

ps 查看进程信息

参数介绍:  

1.   待写… 

3.   # 更多的命令可以用 man ps 来查看。

使用示例:  

1.   # 显示当前进程信息

2.   ps -ef 

4.   # 显示 ssh 进程( grep -v grep
表示排除关键词grep,因为使用 grep匹配ssh,也会把grep自己的进程匹配进去的)

5.   ps -ef|grep -v grep|grep ‘ssh’

6.   # 输出示例

7.   UID        PID 
PPID  C STIME TTY          TIME CMD #注意使用上面命令的话是不会显示表头这一行的,我只是为了更好理解加上的

8.   root 1738 1 0 01/27 ? 00:08:56 /usr/sbin/sshd 

10.  # 待写…

表头解释:  

1.   UID :启动进程的用户

2.   PID :进程标识符(进程 1代表init 是整个系统的父进程)

3.   PPID :父进程标识符(进程 1代表init 是整个系统的父进程)

4.   C :CPU占用率 %

5.   STIME :启动进程的日期

6.   TTY :终端号

7.   TIME :进程运行时间(非休眠状态)

8.   CMD :启动进程的命令(或进程名/进程程序所在目录)

kill 结束进程

1.
#
当我们想要结束一个进程的时候,我们可以用 kill 命令

2.
#
PID是每个进程的一个唯一标识符,可以使用上面的 ps 命令来查看你要结束进程的PID

4.
#
假设我们要结束 Nginx的进程,那么这样做( grep -v grep 表示排除关键词grep,因为使用 grep匹配ssh,也会把grep自己的进程匹配进去的):

5.
ps -ef|grep -v grep|grep “nginx”

7.
#
输出示例

8.
UID
PID PPID C STIME TTY TIME CMD #注意使用上面命令的话是不会显示表头这一行的,我只是为了更好理解加上的

9.
root 2356 1 0 04/03 ? 00:03:12 nginx

11.
#
然后我们可以看到第二列的 PID 进程标识符,然后我们 kill 即可。

12.
kill -9 2356

14.
#
中断进程 -2 相当于 程序运行在前台,然后输入 Ctrl+C 的效果,但是进程有权利忽略,所以不一定能结束进程

15.
kill -2 PID

16.
#
强制结束进程 -9 ,注意:强制结束某个进程后,可能会造成进程数据丢失等问题!

17.
kill -9 PID

free 查看内存使用信息

参数介绍:  

1.   -b :以 字节(bytes/B) 为单位显示

2.   -k :以 KB 为单位显示

3.   -m :以 MB 为单位显示

4.   -g :以 GB 为单位显示

5.   –tera :以 TB 为单位显示

6.   -h :以 人类易读的方式输出

7.   –si :以 1000为单位转换,而不是 1024(1MB=1*1024KB改成 1MB=1*1000KB)

8.   -t :显示 内存总数 行

9.   -s 时间 :每隔 X秒输出一次(重复输出监视内存,使用 Ctrl+C 终止)

10.  -c 次数 :每隔 1秒输出 X次

12.  # 更多的命令可以用 free –help 来查看。

使用示例:  

1.   # 显示当前系统内存(默认 free = free
-k,单位为 KB)

2.   free

4.   # 输出示例

5.    total      
used       free     shared   
buffers     cached

6.   Mem: 250872 237752 13120 0 34620 70520

7.   -/+ buffers/cache: 132612 118260

8.   Swap: 643064 1744 641320

9.   —————————————————————————————————————

10.  # 以单位
B/KB/MB/GB/TG 显示当前系统内存

11.  free -b / free -k / free -m / free -g / free –tera

12.  —————————————————————————————————————

13.  # 以人类易读的方式 显示当前系统内存

14.  free -h

16.  # 输出示例

17.   total      
used       free     shared   
buffers     cached

18.  Mem: 244M 232M 12M 0B 33M 68M

19.  -/+ buffers/cache: 129M 115M

20.  Swap: 627M 1.7M 626M

21.  —————————————————————————————————————

22.  # 以 1000为单位转换并使用 MB为单位 显示当前系统内存(1MB=1*1024KB改成 1MB=1*1000KB)

23.  free -m –si

25.  # 每隔 3秒并使用 MB为单位 显示一次当前系统内存

26.  free -ms 3

28.  # 每隔 1秒并使用 MB为单位 显示 5次当前系统内存

29.  free -mc 5

31.  # 每隔 2秒并使用 MB为单位 总共显示 6次当前系统内存

32.  free -m -c 6 -s 2

34.  # 更多的命令可以用 free –help 来查看。

表头解释:  

1.   # 说明示例

2.    total      
used       free     shared   
buffers     cached

3.   Mem: 244M 232M 12M 0B 33M 69M

4.   -/+ buffers/cache: 129M 115M

5.   Swap: 627M 1.7M 626M     

1.   # Mem 行,表示物理内存统计

2.   total :系统 总物理内存

3.   used :系统 已分配物理内存(但非全部都在使用,包含buffers好cached)

4.   free :系统 未分配物理内存

5.   shared :系统 共享内存,一般都是 0

6.   buffers :系统 分配但未使用的 buffers数量

7.   cached :系统 分配但未使用的 cached数量

9.   # -/+
buffers/cache
行,表示物理内存的缓存统计

10.  used :系统 实际使用的内存

11.  # user= Mem used-buffers-cached232-33-69=130,因单位转换问题 所以会有一点差距)

12.  free :系统 实际可用的内存

13.  # free= Mem free+buffers+cached12+33+69=114,因单位转换问题 所以会有一点差距)

15.  # 所以我们看系统的真实 使用/剩余内存 只需要看这一行即可!

17.  # Swap 行,表示硬盘的交换分区(虚拟内存)统计

18.  total :系统 总虚拟内存

19.  used :系统 已分配虚拟内存

20.  free :系统 未分配虚拟内存

22.  # KVM虚拟化的VPS,可以用这个教程手动添加 SWAP虚拟内存:https://doub.io/linux-jc7/

date 查看/设置 系统时间

参数介绍:  

1.    -d :以指定的时间格式 显示时间

2.    -f :显示 DATE FILE文件中的每行时间(我也不懂)

3.    -r :显示 文件/文件夹 最后修改时间

4.    -s :设置 系统时间

5.    -u :显示 UTC时间

7.   # 时间格式

9.   %% – 显示字符%

10.  %a – 星期几的缩写(Sun..Sat)

11.  %A – 星期几的完整名称(Sunday…Saturday)

12.  %b – 月份的缩写(Jan..Dec)

13.  %B – 月份的完整名称(January..December)

14.  %c – 日期与时间。只输入date指令也会显示同样的结果

15.  %C – 世纪(年份除100后去整) [00-99]

16.  %d – 日期(以01-31来表示)。

17.  %D – 日期(含年月日)。

18.  %e – 一个月的第几天 ( 1..31)

19.  %F – 日期,同%Y-%m-%d

20.  %g – 年份(yy)

21.  %G – 年份(yyyy)

22.  %h – 同%b

23.  %H – 小时(00..23)

24.  %I – 小时(01..12)

25.  %j – 一年的第几天(001..366)

26.  %k – 小时( 0..23)

27.  %l – 小时( 1..12)

28.  %m – 月份(01..12)

29.  %M – 分钟(00..59)

30.  %n – 换行

31.  %N – 纳秒(000000000..999999999)

32.  %p – AM or PM

33.  %P – am or pm

34.  %r – 12小时制时间(hh:mm:ss [AP]M)

35.  %R – 24小时制时间(hh:mm)

36.  %s – 从00:00:00 1970-01-01 UTC开始的秒数

37.  %S – 秒(00..60)

38.  %t – 制表符

39.  %T – 24小时制时间(hh:mm:ss)

40.  %u – 一周的第几天(1..7); 1 表示星期一

41.  %U – 一年的第几周,周日为每周的第一天(00..53)

42.  %V – 一年的第几周,周一为每周的第一天 (01..53)

43.  %w – 一周的第几天 (0..6); 0 代表周日

44.  %W – 一年的第几周,周一为每周的第一天(00..53)

45.  %x – 日期(mm/dd/yy)

46.  %X – 时间(%H:%M:%S)

47.  %y – 年份(00..99)

48.  %Y – 年份 (1970…)

49.  %z – RFC-2822 风格数字格式时区(-0500)

50.  %Z – 时区(e.g., EDT), 无法确定时区则为空 

52.  # 更多的命令可以用 date –help 来查看。

使用示例:  

1.   # 显示 当前系统时间

2.   date

3.   # 输出:Wed Apr 5
12:38:44 CST 2017

5.   # 显示当前系统的 UTC时间

6.   date -u

7.   # 输出:Wed Apr 5
04:30:06 UTC 2017

9.   # 显示 log.txt 文件的最后修改时间

10.  date -r log.txt

12.  # 显示 当前日期的年份

13.  date +%Y

14.  # 输出:2017

16.  # 显示 当前日期的月份

17.  date +%m

18.  # 输出:4  

20.  # 显示 各种格式类型的日期

21.  date +%D

22.  # 输出:04/05/17

24.  date +%Y-%m-%d

25.  # 输出:2017-04-05

27.  date +%m/%d/%y

28.  # 输出:04/05/17

30.  date +%m/%d/%Y

31.  # 输出:04/05/2017

33.  # 显示 Unix时间戳

34.  date +%s

35.  # 输出:1491367399

37.  # 显示一个完整的时间(年、月、日、小时、分钟、秒钟、周几 时区)

38.  date “+%Y-%m-%d
%H:%M:%S %u %Z”

39.  # 输出:2017-04-05
12:12:15 3 CST

41.  # 设置 系统时间(年、月、日)

42.  date -s “2017-04-05”

44.  # 设置 系统时间(小时、分钟、秒钟)

45.  date -s “10:29:05”

47.  # 设置 系统时间(年、月、日、小时、分钟、秒钟)

48.  date -s “2017-04-05
10:29:05″

50.  # 更多的命令可以用 date –help 来查看。

再教你们一个修改时区为上海(北京)时区的方法:

1.   /cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

然后再用 date 查看时间,就会发现时区变为 CST 了。

chmod 修改 文件/文件夹 权限

参数介绍:  

1.   -c :只输出被改变权限的文件信息

2.   -f :当chmod不能改变文件模式时,不通知文件的用户

3.   -R :可递归遍历子目录,把修改应到目录下所有文件和子目录

4.   -v :无论修改是否成功,输出每个文件的信息

6.   # 操作符号:

8.   + :添加某个权限。

9.   – :取消某个权限。

10.  = :赋予给定权限并取消其他所有权限(如果有的话)。

12.  # 权限设置字母:

14.  r :可读

15.  w :可写

16.  x :可执行

17.  X :只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性

18.  s :在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位

19.  t :保存程序的文本到交换设备上

20.  u :当前用户的权限

21.  g :当前用户同组的权限

22.  o :其他用户的权限

24.  # 权限设定数字:

26.  # 数字表示的属性含义:

27.  0 :表示没有权限

28.  1 :表示可执行权限

29.  2 :表示可写权限

30.  4 :表示可读权限

32.  # 然后将其相加,所以数字属性的格式应为3个从0到7的八进制数,其顺序是(u)(g)(o)。

33.  # 如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。

35.  # 更多的命令可以用 chmod –help
来查看。

使用示例:  

1.   # 当需要运行 可执行的脚本或者程序(比如 Go语言编写的软件)的时候,需要赋予执行权限

2.   chmod +x ssr.sh

4.   # 赋予 log.txt 文件可读权限

5.   chmod 444 log.txt

7.   # 赋予 /ver/log 文件夹 可读、可写权限

8.   chmod 666 log.txt

10.  # 赋予 /home/www 文件夹 可读、可写、可执行权限

11.  chmod 777 log.txt

13.  # 赋予 /home/www 文件夹极其所有子目录和文件 可读、可写、可执行权限

14.  chmod -R 777 log.txt

15.  # 更多的命令可以用 chmod –help
来查看。

uname 获取操作系统信息

参数介绍:

        

1.   -a:显示 全部信息

2.   -m:显示 系统位数

3.   -n:显示 主机名称

4.   -r:显示 操作系统的发行编号

5.   -s:显示 操作系统的名称

6.   -v:显示 操作系统的版本

7.   -p:输出 处理器类型 或”unknown”

8.   -i:输出 硬件平台 或”unknown”

9.   -o:输出 操作系统名称

11.  # 更多的命令可以用 uname –help
来查看。

使用示例:

        

1.   root@doub.io:~# uname       #在使用 uname 的时候,相当于是使用 uname -s

2.   Linux

4.   root@doub.io:~# uname -a

5.   Linux doub.io 4.9.75-040975-generic #1 SMP Thu
Oct 27 16:59:03 MSK 2016 x86_64 GNU/Linux

7.   root@doub.io:~# uname
-m       #
输出一般是64: x86_64 / 32: i386 或分支 i686  

8.   x86_64 # 系统位数

10.  root@doub.io:~# uname -n

11.  doub.io # 服务器名(往往购买服务器时会让你填写)

13.  root@doub.io:~# uname -r

14.  4.9.75-040975-generic # 系统当前内核(主)

16.  root@doub.io:~# uname -s

17.  Linux

19.  root@doub.io:~# uname -v

20.  #1 SMP Thu
Oct 27 16:59:03 MSK 2016

22.  root@doub.io:~# uname -p

23.  unknown

25.  root@doub.io:~# uname -i

26.  unknown

28.  root@doub.io:~# uname -o

29.  GNU/Linux

点赞