一个计算机技术爱好者与学习者

0%

好好学Linux:Linux命令大全 ABCD

本文摘自《Linux/UNIX指令范例速查手册》。

1. A

1.1. adduser

adduser: add user,新建系统上的账号

adduser -D,显示新建账号时的默认值。

adduser -m jos,新建名为jos的账号(使用系统默认值)。

adduser位于/usr/sbin/之下,是/usr/sbin/useradd的连接。也就是说,adduser和useradd实际上是同一个命令。

1.2. alias

alias: alias,定义命令及参数的别名

alias,列出现有的别名设置。

alias ua='uname -a',将uname -a的别名设置为ua。

alias的优先级高于path(系统搜寻的路径)。

1.3. apachectl

apachectl: apache controller,管理Apache网页服务器

apachectl -l,列出编入apache的模块。

apachectl restart,重启apache。

1.4. apt-get

apt-get: advanced package tool get,APT软件包管理工具。

apt-get install mailx,安装mailx软件包。

apt-get是Linux发行商Debian与Ubuntu上的软件包管理工具,其他版本Linux无法使用。

1.5. ar

ar: archives,打包和解压缩文件

ar -rv afile a*,将以a开头的文件打包为afile文件。

ar -t afile,列出打包文件中的成员文件。

ar -p afile anaconda-ks.cfg,显示打包文件中某一文件的内容。

ar命令已被tar所取代,目前已很少使用。

1.6. arch

arch: architecture,列出处理器的类型

arch,列出处理器的类型。

1.7. arp

arp: address resolution protocol,网卡地址的对应

arp,列出arp的信息。

arp -s 10.1.1.10 00:0F:26:2A:BF:77,将10.1.1.10强制对应到网卡号00:0F:26:2A:BF:77。

arp -d 10.1.1.10,删除IP地址与网卡号的对应。

1.8. arping

arping: ARP ping,网卡地址的测试命令

arping 172.20.11.1,对172.20.11.1的IP地址进行网卡地址测试。

若不在同一个网络,arping不会有回应,这时需要用ping命令。

1.9. at

at: at,在指定的时间运行命令

at 5pm + 3 days /bin/ls,三天后的下午 5 点执行 /bin/ls
  
at 5pm + 3 weeks /bin/ls,三个星期后的下午 5 点执行 /bin/ls
  
at 17:20 tomorrow /bin/date,明天的 17:20 执行 /bin/date
  
at 23:59 12/31/1999 echo the end of world !,在1999年的最后一天的最后一分钟印出 the end of world !

at -l,列出将要运行的工作。

at -c 1,显示工作编号为1的工作。

at -d 1,删除编号为1的工作。

1.10. awk

awk: Alfred Aho, Peter Weinberger, and Brian Kernighan(作者名),文字数据的高级处理。

awk '{print}' /etc/passwd,显示/etc/passwd中内容,和cat命令结果相同。

awk -F":" '{print $1 $3 $6}' /etc/passwd,将/etc/passwd中的内容以冒号分隔,并取出第1位、第3位和第6位。

awk -F":" '{print $1 "\t" $3 "\t" $6}' /etc/passwd,将/etc/passwd中的内容以冒号分隔,并取出第1位、第3位和第6位,并用Tab作为字段间的分隔符。

awk -F":" '{print "ID=" $1 "\t 家目录=" $6}' /etc/passwd,将/etc/passwd中的内容以冒号分隔,并取出第1位和第6位,并用Tab作为字段间的分隔符,在第1位前加上“ID=”,第6位前加上“家目录=”。


2. B

2.1. badblocks

badblocks: bad blocks,检查硬盘中损坏的区块

badblocks -v /dev/sda1,检查损坏的区块,并显示详细信息。

适用于ext2和ext3文件系统。

2.2. batch

batch: batch,运行批次作业

batch -f com.txt,运行文件com.txt中的命令。

2.3. bc

bc: arbitrary precision calculator,文字型计算器

bc,进入计算器。可以做四则运算,也可以定义变量并做运算。

2.4. bg

bg: background,将进程放到后台运行

cat /var/log/messages | more,然后ctrl+z暂时中断程序。再运行bg 1,其中1为工作编号。

将正在运行的进程移到后台运行,其效果与运行命令后面加上&效果相同。

2.5. bind

bind: bind,显示或设置键盘配置

bind -l | grep kill,列出与kill有关的所有功能名称。

bind -m vi -v,列出vi的按键配置与使用的变量名称。

2.6. blockdev

blockdev: block device,查询区块设备

blockdev -v --getss /dev/sda1,列出/dev/sda1的区块大小。

blockdev -v --getsize /dev/sda1,获取/dev/sda1的区块容量。

2.7. bunzip2

bunzip2: Burrows-Wheeler un-zip file,解压缩bz2格式的压缩文件。

bunzip2 -k afile.bz2,解压afile.bz2文件,不删除原来的压缩文件。

bunzip2 -s afile.bz2,用较少的内存解压afile.bz2文件。

bunzip2是bzip -d的功能连接。

2.8. bzgrep

bzgrep: Burrows-Wheeler zip file grep,查找bz2文件中特定的字符串

bzgrep router ip.txt.bz2,寻找ip.txt.bz2压缩文件中的router字符串。

2.9. bzip2

bzip2: Burrows-Wheeler zip file,将文件压缩为bz2文件

bzip2 afile,压缩文字文件afile为afile.bz2,压缩后afile文件消失。

bzip2 -l pic.png,压缩一般的png图像文件。

bzip2 -d pic.png.bz2,解压文件。

2.10. bzip2recover

bzip2recover: Burrows-Wheeler zip file recover,修复损坏的bz2文件

bzip2recover text.bz2,当bz2文件发生问题无法解压缩时,尝试此命令来还原文件。

2.11. bzless

bzless: Burrows-Wheeler zip file less,列出bz2文件的内容

bzless afile.bz2,列出压缩文件afile.bz2中的内容。


3. C

3.1. cal

cal: calendar,显示日历

cal,显示本月的月历。

cal 2000,显示2000年年历。

cal 5 2001,显示2000年5月月历。

cal -m,以星期一为每周的第一天方式,显示本月的月历。

cal -jy,以一月一日起的天数显示今年的年历。

3.2. cat

cat: catenate,列出文件内容

cat -n textfile1 > textfile2,把textfile1的内容加上行号后,转存为textfile2。

cat -b textfile1 textfile2 >> textfile3,把textfile1和textfile2的内容加上行号(空白行不加)之后,将内容附加到textfile3的最后。

3.3. cd

cd: change directory,切换目录

cd /usr/bin,进入/usr/bin/目录。

cd ~,回到home directory。

cd ../..,跳到目前目录的上上两层:

3.4. cfdisk

cfdisk: curses formatted disk,设置硬盘分区

cfdisk,进入分区界面。

cfdisk -P S /dev/sda,按照扇区排序,显示第一块硬盘的分割情况。

cfdisk是传统命令fdisk的进化版。

3.5. chage

change: change user password expiry info,改变密码的有效期

cat /etc/shadow | grep sherrychage -E 2018-12-31 sherry,设置sherry账号的密码设置在2018年12月31日失效。

chage -M 5 sherry,要求账号sherry必须在5天内变更密码。

chage -l sherry,显示账号的密码设置。

3.6. chattr

chattr: change attributes,改变文件属性

chattr +a file1lsattr file1,增加文件的属性,使之可以附加数据,而无法被修改。

chattr +i file1,改变文件属性,无法修改和删除。

3.7. chcon

chcon: change security context,修改SELinux标签

chcon -R -t httpd_sys_content_t www/,将www目录类型改为httpd_sys_content_t。

3.8. chgrp

chgrp: change group,改变文件或目录所属的组

chgrp users afile,修改afile的组为users。

chgrp -h users tt,修改符号连接tt的组为users。

可以使用chmod实现同样的效果,因此chgrp使用频率较低。

3.9. chkconfig

chkconfig: check configurate,设置系统在不同运行等级下的服务。

chkconfig --list sendmail,列出sendmail在不同运行等级下的状态。

chkconfig --level 35 named on,使DNS服务器在运行等级为3和5时启动。

chkconfig --level 0123456 vsftpd on,使FTP服务器在所有等级下启动。

chkconfig --lis | grep 3:启用,列出runlevel3中所有开启的服务。

3.10. chmod

chmod: change mode,改变文件或目录的权限

chmod ugo+r file1.txt ,将file1.txt设为所有人可读取。

chmod a+r file1.txt ,将file1.txt设为所有人可读取。
  
chmod ug+w,o-w file1.txt file2.txt,将file1.txt与file2.txt设为文件拥有者和其所属同一个群体者可写入,但其他以外的人则不可写入。
  
chmod u+x ex1.py,将ex1.py设定为只有该文件拥有者可以执行。
  
chmod -R a+r * ,将目前目录下的所有文件与子目录皆设为任何人可读取。

chmod 777 file,三个7,分别表示User、Group及Other的权限。
r=4,w=2,x=1。
若要rwx属性则4+2+1=7;若要rw-属性则4+2=6;若要r-x属性则4+1=7。

chmod a=rwx filechmod 777 file效果相同。

chmod ug=rwx,o=x filechmod 771 file效果相同。

chmod 4755 filename,可使此程序具有root的权限。

3.11. chown

chown: change owner,改变文件或目录的拥有者或组

chown jessie:users file1.txt ,将文件file1.txt的拥有者设为users群体的用户jessie。
  
chmod -R lamport:users *,将当前目录下的所有文件与子目录的拥有者皆设为users群体的用户lamport。

3.12. chroot

chroot: change root,切换根目录所在的路径

chroot /mnt/disk /bin/bash,将根目录切换到/mnt/disk,并将/bin/bash作为使用的shell。

3.13. chsh

chsh: change shell,改变账号登录系统时所使用的shell

chsh -l,列出所有可用的shell。

chsh,然后指定使用的shell。

chsh -s /bin/bash peter,指定peter账号的shell。

3.14. clear

clear: clear,清除画面

clear,清屏。

3.15. clock

clock: clock,调整RTC(Real Time Clock)时间

clock,显示目前硬件时钟的时间。

clock --set --data="2/27/11 22:15",将目前硬件时钟的时间设置为2011年2月27日22:15。

clock --hctosys,让系统时间和硬件时钟一致。

clock --systohc,将系统时间写入硬件时钟。

3.16. cmp

cmp: compare,对比两个文件的差异

cmp test.txt text.txt,对比两个文件。

一般使用diff命令来进行文本内容比较,cmp使用较少。

3.17. col

col: column,过滤特殊字符

col -f < testfile,过滤testfile中的RLF字符。

man kill | col -b > kill.txt,过滤所有控制字符(RLF和HRLF)。

3.18. colrm

colrm: column remove,删除指定的列

cat file | colrm 7,删除第6列以后的字符。

cat file | colrm 2 5,删除第2~5列的字符。

3.19. compress

copress: compress

compress -f source.dat,将 source.dat 压缩成 source.dat.Z,若 source.dat.Z 已经存在,内容则会被压缩档覆盖。
  
compress -vf source.dat,将 source.dat 压缩成 source.dat.Z ,并列印出压缩比例。

compress -c source.dat > target.dat.Z ,指定压缩档名。
  
compress -b 12 source.dat ,-b 的值越大,压缩比例就越大,范围是 9-16 ,预设值是 16 。   

1
2
compress -d source.dat 
compress -d source.dat.Z

由于系统会自动加入 .Z 为延伸档名,所以 source.dat 会自动当作 source.dat.Z 处理。

将 source.dat.Z 解压成 source.dat ,若文件已经存在,用户按 y 以确定覆盖文件,若使用 -df 程序则会自动覆盖文件。

3.20. cp

cp: copy file,复制文件或目录

cp aaa bbb,将文件aaa复制命名为 bbb。

cp *.c finished,将所有的.c文件复制到finished目录中。

3.21. cpio

cpio: copy in, copy out,文件备份

ls | cpio -o -O ./backupfile,将目录下的所有文件(不包含子目录)备份到backupfile。

cpio -t -v -I backupfile,查看备份文件backupfile中的文件信息。

3.22. crontab

crontab: cron table,设置计划任务

crontab -l,列出自己的计划任务设置。

crontab -e,编辑自己的计划任务。
若要在每周六运行/usr/bin/w >> /root/login.txt,可设置如下:

1
* * * * 6 /usr/bin/w >> /root/login.txt

若要改为每天23:55运行以上命令,可设置如下:

1
55 23 * * * /usr/bin/w >> /root/login.txt

crontab -u adm -r,删除adm账号的计划任务设置。

1、确认crontab是否安装
crontab,如果报 command not found,就表明没有安装
2、安装 crontab
yum install -y vixie-cron
3、确认是否安装成功:
执行 crontab -l
4、看是否设置了开机自动启动
chkconfig --list crond
5、启动crontab
service crond start

3.23. csplit

csplit: content split,分割文件

csplit -n 3 vsftpd.log 3000,以3000行为界分割为两个文件,并指定列出的文件名位数为3。

csplit -f file vsftpd.log 3000,以3000行为界分割为两个文件,且指定分割的文件名以file开头。

csplit vsftpdlog 1000 {7},以1000行为界分割为7个文件。

3.24. ctrlaltdel

ctrlaltdel: control alt del,设置Ctrl+Alt+Del快捷键。

ctrlaltdel hard,设置为不保存数据立即重启。
ctrlaltdel soft,设置为保存数据、停止服务、卸载文件后重启。

3.25. cut

cut: cut,截取文本内容的指定范围

cat log1,正常查看文件。

1
2
3
root    pts/0        2013-04-29 00:52(192.168.222.1)
root pts/0 2013-04-29 00:52(192.168.222.1)
root pts/0 2013-04-29 00:52(192.168.222.1)

cut -b 3,10 log1,只取出第3、10个字节。

1
2
3
op
op
op

cut -b -3 log1,取前3个字节。

1
2
3
roo
roo
roo

4. D

4.1. date

date: date,显示或修改日期时间

date,显示当前日期和时间。

date +%B%d,显示月份与日数。

4.2. dd

dd: standard input, standard output,转换并列出数据

dd if=file.txt of=/dev/fd0,将文件file.txt写入到软盘。

dd if=boot.img of=/dev/fd0 bs=1440k,制作启动盘,其中,boot.img为开机的镜像文件。

dd if=test.txt of=out.txt conv=ucase,将文件test.txt中的英文字母全部转换为大写后,存储为out.txt。

4.3. debugfs

debugfs: debug file system,ext2和ext3的文件系统改错工具

debugfs /dev/sda7dump install.log /root/bkp.txt,将/dev/sda7下的install.log文件导出一份放到/root/bkp.txt中。

4.4. declare

declare: declare,声明环境变量

declare,显示当前的shell变量。

declare -x,显示所有的环境变量。

declare -i number=100+200echo $number,如果不加-i,系统会以字符串方式来处理100+200。

declare命令与export命令相比,区别在于declare声明的是shell变量,export声明的是环境变量。shell变量只能给shell只用,环境变量可以给shell以及外部命令使用。declare加上-x参数,则与export的作用相同。

4.5. depmod

depmod: dependence of module,分析可加载模块的关联性

depmod -a,检测模块的关联性。

4.6. df

df: display file system,显示文件系统的使用情况

df,显示当前文件系统的使用状况。

df -m,以MB为单位来显示当前文件系统的使用状况。

df -a,显示所有文件系统的使用状况。

df -h,以较易读取的方式显示文件系统的使用状况。

df -i,显示系统inode的状态。

4.7. diff

diff: diffrence,比较并显示文件差异

diff file1 file2,对比file1和file2。

diff -c file1 file2,对比file1和file2,并列出文件的异同。

diff -y file1 file2,对比file1和file2,并以并列的方式显示对比结果。

diff -B file1 file2,对比file1和file2,不对比空白行。

diff /etc/mail/ mail/,比较两个目录的差异。

4.8. diffstat

diffstat: diffrence statistics,根据diff的比较结果显示统计数字

diff /etc/mail/ mail/ | diffstat,对比两个目录的差异,并通过diffstat命令列出。

4.9. dig

dig: dig,显示域名的高级信息

dig sina.com,查询域名sina.com。

dig 163.com -t MX,查询163.com的邮件名称记录(MX record)。

4.10. dir

dir: directory,列出目录或文件名

dir,列出当前目录的文件。

dir -l,以长列表列出当前的文件。

dir命令和ls命令的功能完全相同。

4.11. dirname

dirname: directory name,列出当前路径下的路径名称

dirname /opt/httpd,显示/opt/httpd下的路径名称。

dirname file.txt,显示file.txt文件的路径名称。

4.12. dpkg

dpkg: Debian package,Debian软件包管理工具

dpkg -L postfix,列出postfix安装的文件。

dpkg -i ./unzip_6.0-1_i386.deb,安装当前路径下的unzip_6.0-1_i386.deb。

dpkg是Debian和Ubuntu上的软件包安装指令,类似于RedHat与Fedora上的rpm,但一般较常使用apt-get。

4.13. du

du: display units,显示目录或文件的大小

du,显示当前目录的使用情况。

du -sk /var/*,显示/var目录下所有文件的容量,仅显示总和,默认以KB为单位。

du -sh /*,以可读性高的方式显示根目录下的目录容量。

du --max-depth=2 /var,显示/var目录下两层子目录所占用的空间。

du -b backupfile,显示文件占用的空间。

4.14. dump

dump: dump,文件系统的备份

dump -0 -f /opt/backup /boot,将/boot下的数据备份到/opt/backup中,并更新/etc/dumpdates中的记录。

cat /etc/dumpdates,查看更新后的记录。

restore -r -f /opt/backup,还原backup到备份的位置。

dump命令常用来备份ext2和ext3文件系统。

restore命令是dump命令的逆命令。