这一篇中主要记录了一些linux系统的操作命令。
[alias]
alias [<a>='<b>']
命令别名命令。起别名a这个短语代替b命令//不能有空格
//注意这里b才是真正的命令,如cls=clear。还可以用带选项的命令代替命令本身,如vim=vim -i。
//在不填写任何参数的时候打印所有替换命令。
//alias生成的别名只能在当前的bash下使用,当退出bash后重新登录则需要重新输入。
如果需要每次登录都需要alias出现,则需要在/etc/bashrc(全用户)或者~/.bashrc(单用户)中指定别名。
在bashrc文件写完后,需要使用source命令来执行这个文件才能生效。
//关联命令unalias
更多详细请参考:linux下alias命令详解
----------------------------------------------------------------------------------------
[at]
at <time> //让电脑能够在指定的时间执行任务。这是一个交互式的命令
at> <command>
at> ...
at> ^D
时间格式<time>:
hh:mm dd.mm.yy mm/dd/yy 当不指定日期时,那么就是到下一次到达的时间触发。
now+<num>{minutes|hours|days|weeks} 相对的时间
noon,midnight,teatime 模糊时间
命令的执行结果将以邮件的形式发送给安排任务计划的用户
-l //显示作业的列表,相当于命令atp
-d <job.mun> //取消指定的任务
//配置文件/etc/at.deny 指定不能使用at命令的用户。
///etc/at.allow指定能够使用命令的用户,两个文件都存在使用allow。root默认可以运行。
----------------------------------------------------------------------------------------
[batch]
batch //在电脑空闲时执行命令,用法和at相同。
----------------------------------------------------------------------------------------
[bg]
^Z可以让某个程序到后台去
在命令输入时加入&,可直接进入后台。
前台指的是某个程序启动后占据了命令指示符。
后台指的是某个程序在启动后在后台完成任务。
bg [<jobid>]
//让后台的命令停止的命令继续进行,如果不写作业号,启用默认的作业
//通过jobs命令去查看作业号。关联命令jobs
----------------------------------------------------------------------------------------
[busybox]
busybox //是一个集成的二进制程序,可以模拟很多其他命令
----------------------------------------------------------------------------------------
[cal]
cal [month] <year> 查看第几年第几月的日历
//关联命令date
-----------------------------------------------------------------------------------------
[clock]
clock 本地时钟
//关联命令hwclock
------------------------------------------------------------------------------------------
[chroot]
chroot <path> [<pathToShell>]
//切换根目录,切换根目录需要要求新的目录要有bash和库的支持。查看lib支持要使用命令ldd
------------------------------------------------------------------------------------------
[cron]
anacron可以保证那些在关机的时候错过运行时间的任务在开机后被执行,默认不启动。配置文件为/etc/anacrontab
配置文件/etc/crontab和/var/spool/cron/<username>
<min> <hour> <day> <month> <weekday> [<user>] <command>//0和7都表示周日
* 代表对应的所有有效取值
, 代表离散取值。比如10,40 * * * * 每小时的10分和40分运行
- 代表连续的时间。
/ 代表取值范围的频率。比如*/3 * * * * 表示每三分钟一次
//cron的环境变量:cron执行的所有命令都去path环境变量指定的路径下去找。但是用户不登陆的情况下,不能去使用某些只能在用户下才能运行的命令。记得命令路径打全。
可以参考文档:每天一个linux命令(50):crontab命令
Linux计划任务crontab运行脚本与手工运行不一样的问题
------------------------------------------------------------------------------------------
[crontab]
cronbtab
打印调度命令
//调度文件地址/etc/crontab 调度命令的五个星号 每小时的第几分钟 每日的第几个小时 每月的第几天 每年的第几月 每周的第几天
//可以将任务写入一个sh文件
-e 修改调度命令
//-e修改的调度命令被存放在文件/var/spool/cron/<username>中,它只对当前修改它的用户有效。
-r 终止任务调度
-l 列出当前有哪些任务调度
-u <username> 为其他用户添加命令
------------------------------------------------------------------------------------------
date <MMDDHHMMCCYY.SS>
指定系统时间为<月月日日时时分分年年年年.秒秒>
date +"%Y-%m-%d"
将时间以年月日形式表现回显
//关联命令cal
------------------------------------------------------------------------------------------
[env]
env 查看电脑环境变量
------------------------------------------------------------------------------------------
[fg]
fg <jobid> //将某个程序从后台调回前台
//关联命令jobs
------------------------------------------------------------------------------------------
[free]
free
查看物理内存和交换内存的使用情况
-m
以mb来显示字节
------------------------------------------------------------------------------------------
[fuser]
fuser <file>
验证进程正在使用的文件
-v
参看某文件正在使用的进程
-k <file>
关闭占用文件的进程
-m <dev.path>
与k连用关闭占用设备的进程
------------------------------------------------------------------------------------------
[getty]
getty //是linux终端命令行启动的重要命令,通常写在启动脚本中。
------------------------------------------------------------------------------------------
[grub]
grub
//这是一个交互式的命令。
grub> root (hd0,0) //mbr出错时,指定root的分区
grub> setup (hd0,0) //安装mbr到指定分区
当grub出现问题,不能正常引导系统时,如果进入grub界面,应该去找kernel好人initrd来尝试启动系统。
grub> find (hd0,0) //尝试去找系统文件
grub> root (hd#,#)
grub> kernel <pathToKernel>
grub> initrd <pathToInit>
grub> boot
grub.conf的解释
//路径为/etc/grub.conf
default=<num> //设定默认启动的title编号,从0开始
timeout=<num> //等待用户选择的超时时长
splashimage<dev>/<path> //指定grub的背景图片,dev的写法(hd0,0)
hiddenmenu //有这条就会隐藏菜单
[password=<pwd>] //设置密码
[password --md5 <pwd.md5>]
//设置加密密码,防止grub文件中密码被人看到,具体的加密的值应该使用grub-md5-crypt命令生成
title <string> //内核的标题,即操作系统的名称
root <dev>
//内核所在文件的设备,格式(hd#,#),对grub而言,所有的硬盘一律为hd,hd后面的数字表示第几块磁盘,再后面的数字表示对应磁盘的分区。
kernel
//这里写内核路径和传递内核的参数。grub去访问/boot的文件时,直接写/代替。
initrd //这里写的是ramdisk文件路径
[password <pwd>]进系统时输入密码
------------------------------------------------------------------------------------------
[grub-install]
grub-install --root-drectory=<pathtoBoot> //修复mbr
------------------------------------------------------------------------------------------
[grub-md5-crypt]
grub-md5-crypt
//这是一个交互式的命令,输入命令后,会被要求输入两次密码,两次密码相同后会输出加密的密码。结果可复制到grub.conf
------------------------------------------------------------------------------------------
[history]
history 查看历史输入的命令
<val> 查看最近使用的X个命令
//带!的是在命令符中使用,而不是跟着命令使用
!<val> 查看编号为X的命令,并使用。可以使用负号来表示倒数的命令。
!<string> 查看最近一次输入以<string>开头的命令
!! 使用上一个使用的命令。
!$ 使用上一个使用的参数。
------------------------------------------------------------------------------------------
[hostname]
hostname [<string>]
显示主机名,输入内容可以改变电脑到的主机名
------------------------------------------------------------------------------------------
[hwclock]
hwclock 硬件时钟
//关联命令clock
------------------------------------------------------------------------------------------
[init]
init {0|1|2|3|4|5|6} //配置文件路径:/etc/inittab
//可以通过命令who -r或者runlevel来查看当前用户的运行级别
0:关机
1:单用户
2:无网络的多用户
3:多用户
4:无任何作用
5:图形界面
6:系统重启
<进程名字>:<在多少等级下运行,不填则是全部等级>:<ACTION>:<运行命令>
ACTION:
initdefault:设定为默认运行级别
sysinit:系统初始化
wait:等待级别切换完成
ctrlaltdel:在按下ctrl+alt+del的情况下
powerfail:在停电情况下
powerokwait:电力恢复的情况下
respawn:一旦程序终止,会重新启动
------------------------------------------------------------------------------------------
[jobs]
jobs
//查看所有的前台和后台作业,作业有作业好,不同于进程号
//作业就是停止的进程
//带+命令被视为默认操作的作业
//带-命令将被认为第二个操作的作业
//关联命令bg fg
------------------------------------------------------------------------------------------
[kill]
kill [<pid>]
终止进程号为<pid>的进程
-l 对程序发出信号的列表。l后不加参数。显示出来的列表对应数字作为选项有对应的功能。输入英语也有同样功效
-1 让一个进程不重启,重读配置文件,让新的配置文件生效。
-2 中断一个进程
-9 <pid> 强制终止
-15 终止一个进程(可以给出时间关闭资源)是kill程序默认的信号
kill <%jobid> //用过输入%,可杀死作业。
------------------------------------------------------------------------------------------
[killall]
killall <command> //关闭某个名字的所有进程
//killall的命令选项类似于kill
------------------------------------------------------------------------------------------
[ldconfig]
ldconfig //重新搜寻库文件
-v //显示重新搜寻库的过程
//系统默认的库文件路径为/lib,/usr/lib。额外添加的路径需要在/etc/ld.so.conf.d/中创建一个.conf结尾的文件
------------------------------------------------------------------------------------------
[ldd]
ldd <file>//显示文件库的依赖关系
------------------------------------------------------------------------------------------
[logout]
logout 注销当前用户
------------------------------------------------------------------------------------------
[ln]
ln
创建一个硬链接
-s <path/filename> <name>
name指向路径里的实际文
//硬链接只能对文件创建,针对的inode。不能跨文件系统。
//符号链接针对的是文件地址。
------------------------------------------------------------------------------------------
[locale]
locale
//查看语言环境变量
-a
//查看本机上的编码
------------------------------------------------------------------------------------------
[logout]
logout
注销当前用户
------------------------------------------------------------------------------------------
[man]
man [<num>] <command> 查看某个指令的说明,某些命令有多页,通过whatis命令来查看这些数字
-M <path> //指定查看man文件的路径
//可在配置文件/etc/man.config中添加一条路径
------------------------------------------------------------------------------------------
[mingetty]
mingetty 是一个登陆终端时运行的程序,通常在init中使用
--loginprog=<pathToCommand> //登陆后启动的程序,默认为login
-------------------------------------------------------------------------------------------
[mkinitrd]
mkinitrd /boot/initrd-`uname -r`.img `uname -r` //对initrd进行编译
------------------------------------------------------------------------------------------
[nice]
nice -n <nice> <command> //让某个程序启动时,设定指定的nice
//另见命令renice
----------------------------------------------------------------------------------------
[pidof]
pidof <process> //输入进程名,查看其PID
---------------------------------------------------------------------------------------
[pgrep]
pgrep //显示进程的某些信息
-u <username> //显示和指定用户相关的信息
------------------------------------------------------------------------------------------
[ps]
ps
查看当前系统执行的进程
-e
显示所有线程,同-A
-F
显示所有信息,可以用-f代替
-l
长格式显示//ps -elF也是一种显示方法
表格的解释:pri是优先级的表示,sz表示大小,psr表示运行在哪个cpu上
-o
指定需要显示的字段,具体的命令可以在man中的standard format specifiers中看
如:ps -e -ostat,ppid,pid,cmd | grep -e '[^Zz]'
//这里先让ps输出格式为状态,ppid号,pid号,命令行输出。并筛选出Z开头的行,Z开头的行为僵尸进程
//关联命令top
//在不加-的时候显示的风格不同
a
显示与终端有关的进程
u
以用户的格式显示进程信息
x
显示与终端无关的进程,和-x基本一样//基本是连用ps aux
状态的解释:
D:不可中断的睡眠
R:运行或者就绪
S:可中断的睡眠
T:停止
Z:僵死
<:高优先级进程
N:低优先级进程
+:前台进程组中的进程
l:多线进程进程
s:会话进程
ps表格的解释:USER用户名,PID进程号,cpu使用cpu的百分比,men使用内存百分比,vsz虚拟内存集,rss常驻内存集,tty与哪个终端关联,stat程序状态,start程序启动的时间,time启动时长,command启动命令的指令
------------------------------------------------------------------------------------------
[pstree]
pstree 使用树状结构显示当前系统的进程
------------------------------------------------------------------------------------------
[reboot]
reboot 重新启动
-----------------------------------------------------------------------------------------
[renice]
renice <nice> <pid> //调整某个软件的nice值
//nice值指的是程序的优先值,在-20到19之间的数字记录,越小越优先。普通用户可以提高自己的nice值,但不能降低。
//另见命令nice
------------------------------------------------------------------------------------------
[runlevel]
runlevel
//显示上一个运行级别和当前运行级别。N表示没有切换过运行级别
-----------------------------------------------------------------------------------------
[ulimit]
ulimit //限制系统资源
-H <num> 用户不能超过这个配额
-S <num> 超过这个配额警告
-a 单独使用,列出所有限制额度
-f <num>这个shell能够创建的最大额度,单位为KB
-d <num> 这个进程可以使用的最大文件容量
-t <num> 可用CPU最大时间,单位为秒
-u <num> 单用户可使用的最大进程数量
-n <num> //一个程序最多能够执行的进程数
------------------------------------------------------------------------------------------
[unalias]
unalias <a> 删除命令别名,只要上文的a即可。
//关联命令alias
------------------------------------------------------------------------------------------
[uname]
uname -a 查看当前Linux版本操作系统内核信息
------------------------------------------------------------------------------------------
[updatedb]
updatedb
更新文件数据库
//相关命令locate
-------------------------------------------------------------------------------------------
[uptime]
uptime //显示系统的时间,负载均衡等信息
是top命令显示的第一行
------------------------------------------------------------------------------------------
[set]
set 打开和关闭系统的某些功能。
//使用man set来查看具体选项
------------------------------------------------------------------------------------------
[shutdown]
shutdown
-h now 立刻进行关机
-r now 立刻重新启动
-----------------------------------------------------------------------------------------
[source]
source <filename>
执行文件中的命令,作用与./<filename>相同。
source命令与bash命令不同的是,bash命令是开启一个子shell执行命令。而source是在本shell中执行命令。
对于一些变量来说使用bash命令不能使其在现有系统中生效。如alias
------------------------------------------------------------------------------------------
[su]
su <username> 切换到指定用户
-<username> 在不切换目录的前提下切换到指定用户
-l 在不切换目录的前提下切换到指定用户,登陆式shell
------------------------------------------------------------------------------------------
[sudo]
sudo
<command>//某用户可以以另外一个用户的身份通过某主机执行某命令,输入的是自己的密码,默认五分钟后需要重新输一次
-k //确保下一次执行命令时必须要输入密码
-l //查看用户目前能够输入的sudo命令
配置文件/etc/sudoers
------------------------------------------------------------------------------------------
[startx]
startx 启动图形界面
------------------------------------------------------------------------------------------
[stty]
stty -F /dev/console size //显示终端窗口大小
-----------------------------------------------------------------------------------------
[sync]
sync //将内存的数据同步到硬盘
------------------------------------------------------------------------------------------
[sysctl]
sysctl -w kernel.hostname="" //改主机名,立即生效,重启失效。
sysctl -w <option> //更改系统内核数据,设置的数据重启后失效
-p //在修改/etc/sysctl.conf后重读文件内容,即让修改立即生效
-a //显示所有内核参数和它们的值
------------------------------------------------------------------------------------------
[top]
//此为交互式命令
top
查看系统的进程,并且实时更新
-d <val>
指定更新进程的时间为val秒
-b //刷新的内容通过新的屏幕中显示,非交互式输出
-n <num>//和-b连用,设置显示屏幕的个数,显示完退出
//进入后输入u 再输入用户名查看特定用户的进程
//输入k与进程号,关闭指定的进程
//M根据内存占用量排序
//T根据时间排序
//c 显示完整命令行
//关联命令ps
------------------------------------------------------------------------------------------
[whatis]
whatis <command> 查看说明书里的页
------------------------------------------------------------------------------------------
[watch]
//这是一个交互式命令
watch `<command>`
//每隔2秒钟执行一次命令,并使用全屏显示结果。通常命令中联用cat,来观察那些时刻变化的文件。
-n <num> //指定间隔周期长度,单位为秒,默认为2秒。
-------------------------------------------------------------------------------------------
[whereis]
whereis <command> 查看软件安装路径
------------------------------------------------------------------------------------------
[which]
which <command> 查看命令所在的目录
------------------------------------------------------------------------------------------
[visudo]
visudo //编辑sudo的配置文件
格式:<who> <whichHost>=(<runas>) TAG: <command> [,TAG2: <command2>]
// /var/log/secure中会记录用户使用sudo命令执行的命令
//相关命令sudo
------------------------------------------------------------------------------------------
[vmstat]
vmstat [<num>] [<num2>]
//系统状态查看命令,输入数字参数将会根据输入的数字每隔<num>秒更新数据。第二个数字表示只显示<num2>行信息。
本文转自Heartnight();博客51CTO博客,原文链接http://blog.51cto.com/181647568/1784024如需转载请自行联系原作者
tangjiashiertui