Linux 下命令有很多,并且很多命令用法又有不同的选项,这里介绍一些常用的最基本的Linux命令的用法,希望给大家留下便利之处。
1.cd
切换目录。例如 cd /home 可切换到home目录, cd .. 表示父目录,即当前目录的上一层目录,cd - 可返回上一次所在的目录,cd ~ 可以进入当前用户的家目录 。
2.pwd
显示当前目录。
3.touch
新建一个文本文档。例如 touch /dir/a.txt 在名为dir 的目录里面建一个名为 a.txt 的文档。
4.mkdir
建立一个新的目录,例如 mkdir text 新建一个名为text的目录。使用 mkdir -p 可以递归建目录。
5.rmdir
删除一个空目录,例如 rmdir text 删除text目录。rmdir -p test1/test2,利用 -p 这个选项,可以将 test1/test2 一次删除。
6.ls
列出目前工作目录所含文件以及其子目录。如果要看详细的信息可以用 ls -l 查看详细信息,ls -a 显示包含隐藏文件在内的所有文件。
7.rm
如果要删除的目录不是空目录,可以用 rm 命令,如果使用 rm -rf 则为不提示情况下删除文件和目录。
-r 的意思是递归删除,-f的意思是强制删除,上面可以看出我用 rm -rf test命令的时候,把目录名打错了,所以建议大家以后多用 tab键补全。
8.cp
复制文件或目录,cp 源文件 目标文件,例如 cp 1.txt /tmp 将当前目录下的1.txt文件复制到 /tmp 目录下。
亦或 cp /tmp/a.txt /dir,可将tmp目录下的a.txt复制到dir目录下。
如果目标目录下已经存在该文件,执行mv命令,系统会提示是否覆盖,如果不想提示可以使用 cp 源文件 目标文件。
9.mv
移动文件、目录或更名,例如 mv /home/1.txt /tmp 可将文件移动到/tmp目录下,mv test test1将目录名称更名为 test2。学要注意下面几个选项:
-f :force 强制的意思,如果目标档案已经存在,不会询问而直接覆盖
-i :若目标档案 (destination) 已经存在时,就会询问是否覆盖
-u :若目标档案已经存在,且 source 比较新,才会更新 (update)
10.cat
直接查阅一个文件的内容,例如 cat -n /home/1.txt,其中-n可以显示出行号。
11.tac
反向显示文档内容,由最后一行到第一行反向在屏幕上显示出来,cat和tac相反。
12.nl
还可以用nl添加行号显示出内容
13.more
nl 、 cat和 tac 都是一次性的将数据一口气显示到屏幕上面,而more可以进行一页一页翻动,例如more /etc/man.config。在 more 这个程序的运作过程中,可以使用以下几个按键:
空格键 (space):代表向下翻一页
Enter :代表向下翻一行
/字符串 :代表在这个显示的内容当中,向下搜寻『字符串』这个关键词
:f :立刻显示出文件名以及目前显示的行数
q :代表立刻离开 more ,不再显示该档案内容
14.less
有more,当然也有less命令,而且用法比more更丰富,less /etc/man.config。在 less 这个程序的运作过程中,可以使用以下几个按键:
空格键 :向下翻动一页
[pagedown]:向下翻动一页
[pageup] :向上翻动一页
/字符串 :向下搜寻『字符串』的功能
?字符串 :向上搜寻『字符串』的功能
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序
15.head
head (直接执行命令head,默认显示头十行)。如果想按照要求显示,可使用命令 head -n ,例如 head -2 test.txt 取出test.txt文档中的前两行。
16.tail
有head相反的就有tail,直接执行命令tail,默认显示末尾十行,如果想指定显示哪几行,例如 tail -2 test.txt 取出test.txt文档中的后两行。
17.od
上面几个读取的都是文本文档,如果要查阅非文本文档,就要使用od。
18.echo
将信息输出到屏幕或文件中。例如 echo 'I am studying linux.'>>oldboy.txt 可以将该条信息添加到名为oldboy.txt 的文档的最后一行中。
19.which
寻找指令的完整文件名,这个指令是根据PATH这个环境变量所规范的路径去搜寻,例如 which ifconfig,可以找到正确的执行档名
20.whereis
搜寻文档,相当于find速度快,例如 whereis ifconfig
21.locate
直接在后面输入文档的部分名称后,就能够得到结果,例如输入locate password那么在完整文件名(包含路径名称)当中,只要有 passwd 在其中,就会被显示出来的
22.find
搜索某一文件,例如 find /oldboy/ -name "*.sh" 搜索/oldboy目录下所有以.sh结尾的文件,find还有很多其他的功能,就不一一介绍了,不过find搜索速度较慢,建议使用上面介绍的搜索命令
23.type
type可以知道某个指令是来自于外部指令(指的是其他非 bash 所提供的指令)或是内建在bash当中的指令,例如 type cd,可以找到cd是shell内建指令
24.chgrp
改变文档所属群组,例如 chgrp users 1.txt,将1.txt文件的所属群组改为user,前提是在/etc/group 里面已经存在一个名为 users 的群组。
25.chown
改变文档拥有者,例如 chown bin 1.txt,将1.txt的拥有者改为bin这个账号,用户必须是已经存在系统中的账户,如果要连目录下的所有次目录或文件同时更改档案拥有者的话,直接加上-R的选项即可。
26.chmod
改变文档的权限,例如chmod 777 1.txt,可将文件1.txt的权限改为可读可写可执行。
27.alias
命令别名设定,例如 alias ab='ls -l' ,即将原命令为ls -l 的,改为ab,以后执行命令ab就相当于执行了命令 ls -l 了。
28.unalias
取消命令别名,例如要将刚刚的 lm 命令别名拿掉,就使用unalias lm
29.history
提供指令历史的服务查询我们曾经下达过的指令,例如 history 3,可以列出目前最近的3笔历史纪录。
30.grep
grep命令是一种强大的文本搜索工具,功能非常强大,在这里只是简单的介绍下,例如 grep -v 'oldboy' test.txt,从test.txt文件中找出除了‘oldboy’以外的内容,-v的意思表示取反。
31.sed
sed可以将数据行进行替换、删除、新增、选取等特定工作,例如 sed -n '1,2p' text.txt,将text.txt文件中第一行和第二行的东西打印出来,如果不加上-n的话,则整个文件的内容都会显示出来,而第一第二行的内容则会多显示一遍。命令 sed '1d' a.txt,则可以将a.txt文件的第一行删除掉。还有很多其他的功能就不一一举例了。
32.awk
awk是一个强大的文本分析工具,相对于上面说的grep的查找,sed的编辑,awk在对数据分析并生成报告方面具有优势。例如awk 'NR==1,NR==2' text.txt 可以显示出text.txt文件的第一行和第二行,其中NR代表行号的意思。例如一个复杂的实例 cat /etc/passwd |awk -F ':' '{print $1}'可以显示出/etc/passwd的账户,-F指定域分隔符为':',$1表示第一个域,同样的,awk命令功能非常强大,这里只是简单的介绍下。
33.ping
ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,比如说 ping www.baidu.com,就可以根据它输出的信息来确定目标主机是否可访问。
34.ifconfig
ifconfig工具可以被用来简单地获取网络接口配置信息,或者修改配置信息,直接使用命令ifconfig即可。ifconfig eth0 up,可以开启网卡eth0。
35.route命令
route命令用于显示和操作IP路由表,命令route则可显示当前路由情况。命令route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0则可以添加一条到达244.0.0.0的路由。
36.traceroute
traceroute可以知道信息从计算机到互联网另一端的主机是走的什么路径,例如 traceroute www.baidu.com就可以显示出网路数据包的路径。
37.netstat
netstat命令用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况,直接使用命令即可,netstat -i,可以显示网卡列表。
38.ss
ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss比netstat更快速更高效。例如ss -l 命令可以列出所有打开的网络连接端口。
39.gzip
gzip可以对文件进行压缩和解压缩操作,gzip * 可以把当前目录下的的每一个文件压缩成.gz文件,gzip -dv *则可以把当前目录下的压缩文件进行解压,-v可以显示压缩的过程。
40.tar
tar命令可以实现压缩,解压缩,打包,解包等功能,比gzip更加实用。例如,tar -zcvf 1.tar.gz 1.txt oldboy oldboy.txt命令可以将1.txt,oldboy,oldboy.txt 打包并压缩成1.tar.gz。tar zxcf 1.tar.gz,可以将包解压。
41.df
显示磁盘的使用情况,可以直接使用命令df,可以使用df -h以更易读的方式显示。
42.du
显示目录或者文件所占空间,例如du 1.txt,可以显示1.txt文件的大小,du /tmp 显示tmp目录的所占空间。
43.ln
为某一个文件在另外一个位置建立一个同步的链接,例如ln -s 1.txt /home/link1,将当前目录下的 1.txt文件在home目录下建立一个软链接,如果原文件丢失则软链接也失效
43.exit
退出当前登入的终端。另外使用组合键ctrl+alt+F[1-6]可以切换终端。ctrl+l 清屏。
44.date
查看时间。
45.useradd passwd
useradd建立一个新的用户,passwd添加或者修改指定用户的密码。例如:
useradd Tom
passwd Tom
46.--help
查看一种命令的帮助,例如 ls --help,查看ls的用法。