关机:

shutdown [-t n] [-krhn] time [‘msg’] 

-t n:在n秒后发送警告信息msg 

-k:仅发送警告,不是真的关机 

-r:将所有的服务停止后重启(常用) 

-h:将所有的服务停在后关机(常用) 

-n:直接关机

 

重启:

reboot [-n] [-w] [-d] [-f] [-i] 

-n:重启前不进行回填操作 

-w:并非真的重启,而是把记录写入到文档/var/log/wtmp中去 

-d:不把记录写入上述文件中 

-f:强制重启 

-i:将网络相关装置停止后再重启

 

查找指令X的使用方法:man x

 

chgrp groupname file/dir

 该指令用来改变一个文件或目录的组群

chown username[:groupname] file/dir

该指令用来改变一个文件或目录的组群和用户

 

数字法改变操作权限

chmod xyz filename/dirname 

其中:x/y/z=(r/-)+(w/-)+(x/-)

r:4 w:2 x:1 -:0

符号法改变操作权限

chmod [u/g/o/a][+/-/=][r/w/x],[u/g/o/a][+/- /=][r/w/x],... file/dir

u:拥有者 g:组群o:他人 a:所有人 

+:加入属性 -:删除属性 =:设定属性

 

关于目录操作的指令: 

cd:改变目录

pwd:显示当前所在的工作目录

mkdir surname:建立新目录

rmdir surname:删除空目录

 

文件和目录管理指令:

ls [-adilSR] [filename/dirname] 

-a:列出包含隐藏文件在内的所有文件(常用)

-d:仅显示目录本身属性信息,而非其子文件信息(常用)

-i:显示各文件的inode值 

-l:以长格式列出文件的详细信息(常用) 

-S:以文件大小排序 

-R:将子目录内容也列举出来 

--full-time:显示文件最后一次被修改的完整时间

 

cp fliename: 复制文件

rm filename: 删除文件

mv 源文件 目标文件: 移动文件

file filename: 查看文件

 

touch [-acmt] filename 

基本功能为将指定文件filename的atime和mtime设置为当前时间 

-a:只重置访问时间atime  

-m:只重置修改时间mtime 

-c:只更新时间,不创建文件 

-t YYMMDDhhmm:将文件的atime和mtime设置为指定时间 ,而非当前时间

 

cat filename: 将指定文件从首行开始连续显示在屏幕,当文件过大时不适用  

tac filename: 将指定文件从尾行开始连续显示在屏幕,当文件过大时不适用  

nl filename: 在显示内容的同时加上行号  

more filename : 从第一页开始按页显示文件filename的内容 

less filename: 分页显示指定文件filename的内容,使用相应按键实现上下翻页 

head [-n 行数] filename: 显示文件的头部,默认显示10行 

-n 行数:显示头部的指定行数内容 

tail [-n 行数] filename: 显示文件的尾部,默认显示10行 

-n 行数:显示尾部的指定行数内容

 

查找文件或目录的指令

which filename:通过环境变量PATH查找可执行文件位置 

locate filename:在数据库中查找指定文件

whereis filename:从数据库中查找特定文件 

find [路径] [选项组合] [操作]: 根据指定条件搜索文件

 

链接文件指令

ln [-sf] 源文件 目标文件: 源文件为被链接的文件,目标文件为链接文件

-s: 加该选项时为创建软链接文件,若不加该选项则是创建硬链接文件

-f: 若指定的目标文件已存在,则将其覆盖

 

磁盘指令

fdisk [-l] devname 

查询和修改分区表,并未真的对分区格式化

-l:列出指定硬盘的分区表

mkfs [-t文件系统类型]分区名称 -t fstype

将指定分区格式化为fstype类型(注意此处应写分区名称,而非硬盘名称)

fsck [-aCf] devname 

检查磁盘,执行时务必确保被检查分区没有挂载,避免分区中文件被修改后不能使用

-a:自动修复坏轨,不再询问 

-C:使用条形图表示进度 

-f:强制检查

mount -t type /dev/hdxn /mountpoint

挂载指令

umount [-f] [device|mountpoint]

卸载指令

 

文件压缩

gzip [-crd#] filename 

-d:解压缩参数

-v:将压缩过程显示到屏幕上

-r:对文件夹内文件执行指定操作

-#:压缩等级(可选1到9级,6默认)

zcat filename.gz 

在不解压的前提下读取.gz包内的内容

bzip2 [-dzc] filename 

-d:解压缩

-z:强制压缩文件 

-c:将压缩结果显示到屏幕去

-#:#代表1到9,即压缩级别,1最快但压缩比差,9压缩慢但压缩比较好

(该指令产生的压缩文件后缀为.bz2)

bzcat filename.bz2 

在不解压的前提下读取压缩文件的内容

tar [-zjxvctpPNC] [-N `yyyy/mm/dd`] [--exclude=file] -f tarfilename source

-z:使用gzip工具 

-j:使用bzip2工具 

-x:解包文件

-c:打包文件

-t:查看.tar包中的文件列表

-v:显示操作过程

-f:后接压缩包名

-p:打包时不改变文件属性与权限

-P:按照source的绝对路径方式打包文件

-C:后跟目录名,要求解压时将压缩包内的文件放入该目录 

-N:比yyyy/mm/dd更晚的文件才会打包压缩

--exclude=file:压缩过程中不打包名称为file的文件

 

用户管理

新增用户

useradd [-u UID] [-g GID] [-G GID] [-Mm] [-d HOME] [-s shell] [-r] username

-u :增加用户时直接为其指定一个特定的 UID 

-g :后接初始组群的GID -G:后接其他组群的GID 

-M:强制不建立用户家目录 -m:强制建立用户家目录

-d :指定某目录为用户家目录,而不使用预设值 

-s :后接 shell ,默认为/bin/bash

-r:创建一个系统账号,通常会使用100以后的UID和 GID

 

删除用户

userdel [-r] username

-r :删除用户的同时也删除其家目录

 

修改用户属性

usermod [-degGlsuLU] username

-d :后接用户家目录

-e :账号失效时间,格式是 YYYY-MM-DD 

-g:后接组群名,用于修改/etc/passwd的第四个字段 

-G:后接组群名,用于修改/etc/group的第四栏

-l :后接账号名,用来修改账号名称

-u :后接 UID

-L :在用户密文前加上一个!,暂时冻结用户密码 

-U :将 /etc/shadow 密码栏的 ! 去掉

 

新增和删除组群

groupadd [-g GID] groupname 

新增名为groupname的组群

-g :直接为新建组群指定GID

groupdel groupname

删除名为groupname的组群,删除时要求该组群没有成员用户

 

修改组群

groupmod [-g GID] [-n new_groupname] groupname

-g :修改GID值(慎用) 

-n :修改组群名称

 

系统用户转换

sudo:不需要root密码,仅以当前普通用户密码执行一次root权限指令

su:将user转成root,需要root密码

 

系统用户查询

who:查询所有已登录用户 

whoami:查询当前登录用户 

 

shell脚本

管道连接

eg: who | wc -l

wc是一个用来显示文件容量参数的指令, shell将who指令的输出结果作为wc指令的输入 数据,而不是将其显示在计算机的屏幕上

输入输出重定向

eg:

command > dev/file

command < dev/file

 

赋值与输出

eg: 

]# name=BCJH

]# echo ‘$name is my name’

]# echo “$name is my name”

]#PATH=3+8*3

]# echo $PATH

 

变量声明

declare [-aixr] para

– a:声明变量para为数组型

– i:声明变量para为整型

– x:声明变量para向下传递,等价于export

– r:声明变量para为只读,该类型变量不能重置

 

判断指令test

test -r filename 判断名为filename的文件是否具有可读属性

test -w filename 判断名为filename的文件是否具有可写属性

test -x filename 判断名为filename的文件是否具有可执行属性

test -s filename 判断名为filename的文件是否为非空文件

test file1 -nt file2 判断 file1 是否比 file2 新

test file1 -ot file2 判断 file1 是否比 file2 旧

test file1 -ef file2 判断 file2 与 file2 是否为同一文件

test n1 -eq/= n2 判断n1是否等于n2

test n1 -ne/!= n2 判断n1是否不等于n2

test n1 -gt/> n2 判断n1是否大于n2

test n1 -lt/< n2 判断n1是否小于n2

test n1 -ge n2 判断n1是否大于等于n2

test n1 -le n2 判断n1是否小于等于n2

 

判断符号[ ]

功能相当于test

[ ]中的每个组成部分间必须用空格分隔

[ ]之间可以用&&或|| 结合

[ ]中的变量用双引号设定,常量则单双皆可

 

条件判断1

if command1

then

 command2

fi

其他格式

if [ 条件1 ] &&( || ) [条件2 ] ; then 

elif [ 条件3 ] &&( || ) [条件4 ] ; then 

else

fi

 

条件判断2

case $变量名称 in 

 “变量值1")

  指令程序段1

  ;; 

 “变量值2")

  指令程序段2

  ;; *)

    不包含第一个变量内容与第二个变量内容的其他

  指令程序段

  ;; 

esac

 

循环

• for((条件1;条件2;条件3)) 

do 

指令

done 

• while [条件1] && {||} [条件2] ...

do

指令

done

• until [ 条件1 &&{||} [条件2]...

do 

指令

done

 

调试脚本

sh scripts.sh

Logo

集算法之大成!助力oier实现梦想!

更多推荐