Linux命令大全——ABCD

文章目录
  1. 1. A
    1. 1.1. adduser
    2. 1.2. alias
    3. 1.3. apachectl
    4. 1.4. apt-get
    5. 1.5. ar
    6. 1.6. arch
    7. 1.7. arp
    8. 1.8. arping
    9. 1.9. at
    10. 1.10. awk
  2. 2. B
    1. 2.1. badblocks
    2. 2.2. batch
    3. 2.3. bc
    4. 2.4. bg
    5. 2.5. bind
    6. 2.6. blockdev
    7. 2.7. bunzip2
    8. 2.8. bzgrep
    9. 2.9. bzip2
    10. 2.10. bzip2recover
    11. 2.11. bzless
  3. 3. C
    1. 3.1. cal
    2. 3.2. cat
    3. 3.3. cd
    4. 3.4. cfdisk
    5. 3.5. chage
    6. 3.6. chattr
    7. 3.7. chcon
    8. 3.8. chgrp
    9. 3.9. chkconfig
    10. 3.10. chmod
    11. 3.11. chown
    12. 3.12. chroot
    13. 3.13. chsh
    14. 3.14. clear
    15. 3.15. clock
    16. 3.16. cmp
    17. 3.17. col
    18. 3.18. colrm
    19. 3.19. compress
    20. 3.20. cp
    21. 3.21. cpio
    22. 3.22. crontab
    23. 3.23. csplit
    24. 3.24. ctrlaltdel
    25. 3.25. cut
  4. 4. D
    1. 4.1. date
    2. 4.2. dd
    3. 4.3. debugfs
    4. 4.4. declare
    5. 4.5. depmod
    6. 4.6. df
    7. 4.7. diff
    8. 4.8. diffstat
    9. 4.9. dig
    10. 4.10. dir
    11. 4.11. dirname
    12. 4.12. dpkg
    13. 4.13. du
    14. 4.14. dump

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

A

adduser

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

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

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

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

alias

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

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

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

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

apachectl

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

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

apachectl restart,重启apache。

apt-get

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

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

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

ar

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

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

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

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

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

arch

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

arch,列出处理器的类型。

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地址与网卡号的对应。

arping

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

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

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

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的工作。

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位前加上“家目录=”。


B

badblocks

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

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

适用于ext2和ext3文件系统。

batch

batch: batch,运行批次作业

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

bc

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

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

bg

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

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

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

bind

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

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

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

blockdev

blockdev: block device,查询区块设备

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

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

bunzip2

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

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

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

bunzip2是bzip -d的功能连接。

bzgrep

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

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

bzip2

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

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

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

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

bzip2recover

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

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

bzless

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

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


C

cal

cal: calendar,显示日历

cal,显示本月的月历。

cal 2000,显示2000年年历。

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

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

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

cat

cat: catenate,列出文件内容

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

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

cd

cd: change directory,切换目录

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

cd ~,回到home directory。

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

cfdisk

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

cfdisk,进入分区界面。

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

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

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,显示账号的密码设置。

chattr

chattr: change attributes,改变文件属性

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

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

chcon

chcon: change security context,修改SELinux标签

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

chgrp

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

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

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

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

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中所有开启的服务。

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的权限。

chown

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

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

chroot

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

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

chsh

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

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

chsh,然后指定使用的shell。

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

clear

clear: clear,清除画面

clear,清屏。

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,将系统时间写入硬件时钟。

cmp

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

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

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

col

col: column,过滤特殊字符

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

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

colrm

colrm: column remove,删除指定的列

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

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

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 程序则会自动覆盖文件。

cp

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

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

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

cpio

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

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

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

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

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个文件。

ctrlaltdel

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

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

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


D

date

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

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

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

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。

debugfs

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

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

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的作用相同。

depmod

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

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

df

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

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

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

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

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

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

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/,比较两个目录的差异。

diffstat

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

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

dig

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

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

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

dir

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

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

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

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

dirname

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

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

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

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。

du

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

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

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

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

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

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

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命令的逆命令。