博客 | Linux系统指令
关机: shutdown [-t n] [-krhn] time [‘msg’] -t n:在n秒后发送警告信息msg -k:仅发送警告,不是真的关机 -r:将所有的服务停止后重启(常用) -h:将所有的服务停在后关机(常用) -n:直接关机 重启: reboot [-n] [-w] [-d] [-f] [-i] -n:重启前不进行回填操作 -w:并非真的重启,而是把记录写入到文档/var/lo
关机:
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
更多推荐
所有评论(0)