Linux 常用命令汇总
1、 显示日期与时间:date
可修改显示日期格式,如:date +%Y/%m/%d %H:%M à2016/12/25 17:05(%Y:年;%m:月;%d:日;%H:24小时制;%M:分)
date –d 参数后可加:today/yesterday/tomorrow 来显示今天、昨天、明天日期
2、 显示日历:cal(默认显示本月月历)
cal 2001 可显示2001年整年日历;cal 10 2001 可具体显示某月月历
3、 计算器:bc
4、 Tab键:用在指令的后面为命令补全;用在目录或文件后面为档案名称补齐
5、 关机/重启指令
shutdown –h now :立即关机
shutdown –h +10 ‘The system will shutdown’:十分钟后关机并给出提示
shutdown –h 22:20 :确定实际关机
shutdown –r now :立即重启
shutdown –r +10 ‘The system will reboot’:十分钟后重启并给所有在线用户发出讯息
其他常用命令:reboot :系统重启;poweroff:系统关机;init 0 :系统关机
6、文件系统简单操作
df:列出文件系统整体磁盘使用量(–h 以方便阅读的格式显示)
du:列出当前目录下所有档案大小(–s,仅显示本目录的大小)
7、用户管理
(1)用户
新增用户: useradd [ –u UID ] [ –g 设置群组] [ –c 说明信息] [ –d 设置家目录(如果不设置默认在/home下新建家目录)];
设置密码:passwd username (已设置密码则为修改密码,普通用户可修改自己的密码,root用户可修改所有人密码);
修改用户信息:usermod 该指令选项与useradd类似,可进行相应选项内容的修改;
删除用户:userdel username(username –r username:则连同用户家目录一同删除)
(2)群组
新增群组:groupadd groupname
建立群组密码:gpasswd groupname
修改群组:groupmod groupname
删除群组:groupdel groupname
(3)查询用户信息
finger username :查询某用户相关账户属性;
finger : 查询目前系统上登录用户与登入时间
id :查询自己的Id信息
id username :查询某用户Id信息
w、who :查询目前系统已登录用户
(4)用户身份切换
su :直接身份切换,不改变环境变量
su – :切换用户身份同时重新加载用户的环境变量,完整切换到新用户的环境
exit :当前用户退出
sudo command:获取超级用户权限来执行command(使用sudo指令需要在/etc/sudoers文件中设定值,新增 username ALL=(ALL))
8、目录/文件操作
(1)目录切换cd:. 当前目录;. . 上一层目录;– 前一个工作目录;~ 当前用户的家目录
(2)pwd:显示当前所在路径
(3)mkdir:新建一个新的目录(mkdir –p /home/aaa/bbb/ccc 一次建立多层目录)
(4)rmdir:删除一个空的目录(rmdir –p /home/aaa/bbb/ccc 一次删除多层空目录)
(5)rm –r /home/aaa:删除多层不为空的目录,递归删除
(6)查看目录内容ls:–a 显示全部档案,包括隐藏档案(以.开头命名的文件);–l 长数据串显示,包含文件属性与权限信息;–d 仅列出目录,目录内部文件不列出;
(7)复制操作cp –选项 source destination
–i:复制时若目标文件已存在询问是否覆盖
–f:强制复制,不询问
–s:复制为软链接(快捷方式),指向目标文件,若目标文件被删除,则无法打开
–l:复制为硬链接
–r:递归复制
(8)移动/更名 mv –选项 source destination
(9)修改操作权限chmod,包括文件所有者o,文件同组人g,其他人权限u,全部a
chmod 740 filename:数字方式修改,读-4、写-2、执行-1
chmod u+x filename:字母方式修改,读-r、写-w、执行-x,加权限用“+”,取消权限用“–”
chmod –R u+x dirname\*:目录下所有文件修改权限
(10)修改文件的所有者chown;修改文件的所属组chgrp
(11)建立空文档touch
(12)查看文档内容:command 文件名称
cat:由第一行开始显示文档内容;tac :从最后一行开始显示(可加选项—n 显示内容时添加行号)
more:一页一页显示,向后翻页;less:一页一页显示,向前翻页
head –n N:只看前N行;tail –n N:只看后N行;tail –f :动态持续查看文件内容
(13)查找文件
which command:查找执行档,即显示查找命令所在文档的位置
whereis filename/dirname:显示某文件或目录所在位置
locate filename/dirname:–i 可忽略大小写 –r 可接正则,后面可输入文档的部分名称进行模糊查询
find [PATH] [option] [action]:–name 查询的文件名(可用正则,模糊查询);–size 指出文件大小;–type 指出文件类型;–perm 指出文件权限;–exec command {}\; 额外可进行的操作
9、压缩与打包
(1)gzip [–cdtv#] filename :建立后缀为*.gz的压缩文件
–c:将压缩数据输出到屏幕
–d:解压缩
–t:检查压缩文件一致性
–v:显示出源文档与压缩文档的压缩比信息
–#:压缩等级,-1最快,-9最慢,默认-6
(2)bzip2 [–cdkzv#] filename :建立后缀为*.bz2的压缩文件
–k:保留源文件,不会删除原始文档
–z:压缩参数
–d:解压缩参数
(3)打包并压缩tar
tar –jcvf filename.tar.bz2(destination) filename/dirname(source):以bzip2方式压缩
tar –zcvf filename.tar.gz(destination) filename/dirname(source):以gzip方式压缩
tar –jtvf filename.tar.bz2:查询压缩文件
tar –jxvf filename.tar.bz2 –C 欲解压目录:解压缩(bzip2方式压缩)
tar –zxvf filename.tar.gz –C 欲解压目录:解压缩(gzip方式压缩)
10、vi编辑器
(1)一般模式:vi打开之后直接进入的模式,在该模式下可以上下键移动光标,可以x删除字符、dd删除正行、yy复制、p粘贴处理文档内容;
x:向后删除一个字符;X:向前删除一个字符;
dd:删除当前行;ndd:删除当前行向下n行;d1G:删除光标所在到第一行;dG:删除光标所在到最后一行;
yy:复制当前行;nyy:复制当前向下n行;y1G:复制光标所在到第一行;yG:复制光标所在到最后一行
p:粘贴
u:复原前一个动作,即撤销操作
ctrl+r:重复执行前一个操作(也可用小数点操作)
(2)编辑模式:在一般模式中按下[i、I、o、O、a、A]后进入,按Esc键退出该模式;
h:向左移动一个字符;j:向下移动一个字符;k:向上移动一个字符;l:向右移动一个字符;
0:移动到当前行行首;$:移动到当前行行尾
(3)命令模式:在一般模式中输入[:、?、/ ]进入命令模式,可进行查询、字符替换、设置行号等操作;
/word:光标向下查询word;?word:光标向上查询word;n:重复前一个搜寻动作,向下搜寻;N:重复前一个搜寻动作,向上搜寻;
:n1,n2s/word1/word2/g:在第n1行与n2行之间寻找word1,并用word2替换;
:1,$s/word1/word2/g:在第1行与最后一行之间寻找word1,并用word2替换;
set nu:显示行号;set nonu:取消显示的行号
n1,n2 w filename:将n1到n2行之间内容存储到filename文档中
wq保存退出;q!不保存强制退出;wq!强制保存退出
11、变量相关命令
env:查看当前shell环境下的环境变量;
set:显示所有变量,包括环境变量;
export:自定义变量转为环境变量;
echo $变量名:显示变量内容;
read 变量名:将键盘输入读取赋值给变量
source 配置文件名:修改配置文件后执行source指令后设定才能生效
12、命令别名alias
显示当前所有命令别名;alias xxx=’comand’ :设置命令别名;unalias xxx: 取消命令别名;只在当前shell中起作用
13、历史命令history
显示内存中所有历史命令,默认为1000条;history n:显示最近的n条执行过的命令;!N(命令号)执行history中第N条指令
14、通配符与特殊字符
(1)通配符
*:匹配0到无穷多个任意字符;
?:匹配1个到无穷多个任意字符;
[]:匹配括号内任意一个字符,如[abcd]指的是匹配abcd中的一个字符;
[-]:匹配括号中数字或字母范围内所有字符,如[0-9]指的是匹配0到9之间的所有数字;
[^]:括号内第一个字符为^表示取反,如[^abc]指的是非a、b、c的其他字符;
(2)特殊符号
#:注释信息
\:还原特殊字符为一般字符
|:管道命令
>:重定向(覆盖);>>累加重定向
“”:双引号具有变量置换功能
cmd;cmd:可连续输入多条命令,用分号间隔
cmd1 && cmd2:cmd1正确,执行cmd2;cmd1错误,不执行cmd2
cmd1 || cmd2:cmd1正确,不执行cmd2;cmd1错误,执行cmd2
15、管道命令
(1)数据截取:cut,一般用法[ cmd | cut –d ‘分隔符’ –f n ]:以某分隔符截取前一命令的输出,并显示第n个字段
(2)行截取:grep,一般用法[ cmd | grep –a/c/i/n/v ‘搜索字符串’ ]或者[grep –a/c/i/n/v ‘搜索字符串’ filename]:从某命令结果中查找某字符串,或者从某文件中查找某字符串,显示整行
(3)排序:sort,–r反向排序;–u 相同数据仅显示一行;–t取分隔符;–k以分隔符分隔的区间后,指定区间间来进行排序
(4)记数:wc,–l显示行数;–w显示字数,英文单词;–m显示字符数
(5)tee filename:一般用在两个管道之间[ cmd1 | tee filename| cmd2 ],使前一命令的输出 输入到指定文件,同时使用后面的命令输出到屏幕上
16、定时任务crontab
(1)crontab命令
crontab –e :进入vi编辑画面进行编辑crontab的工作内容,:wq保存退出;
crontab –l :查看设定的crontab的工作内容;
crontab –r :删除所有的crontab工作;
(2)定时设置
五个时间段设置分别为:0-59分钟、0-23小时、1-31日期、1-12月份、0-7周(0、7均代表周日);
*星号:代表任意时刻,比如:[* * * * * cmd ];
,逗号:代表分隔时间段,比如:每日3点、6点两个时间点执行指令[0 3,6 * * * cmd ];
–减号:代表一段时间范围,比如:每日3点到6点两个时间范围内执行指令[0 3-6 * * * cmd ];
/n斜线:代表每隔n个时间单位,比如:每5分钟执行[*/5 * * * * cmd ];
(3)系统的定时任务设置:/etc/crontab文件添加crontab指令
17、程序相关命令
(1)查看系统所有的程序数据:ps aux
(2)仅查看自己bash相关程序:ps –l
(3)动态查看程序变化:top –d 2 (每2秒刷新一次)
(4)终止程序:kill PID (可先用ps aux 查询程序的PID)
(5)终止程序:killall [–ieI] cmd name(后跟完整指令名称)
18、查看系统资源
free 查看内存使用情况;uname –a 查看系统基本信息;uptime 显示系统开机多久;netsat –tlnp 显示系统已监听的网络联机及其PID
19、软件安装yum
(1)格式:[option] [查询工作项目][相关参数]
(2)–y :自动提供yes相应
(3) search:搜寻某软件
(4)list/info:列出目前yum所管理的所有软件名称与版本
(5)install:安装;update 升级;remove 删除