Linux 基础命令
1.cd
切换目录,例如 cd /home 可切换到home目录,cd .. 可返回上一级目录。直接使用cd会返回到根目录
2.pwd
显示当前目录。
3.mkdir
建立一个新的目录,例如 mkdir text 新建一个text目录。
4.rmdir
删除一个空目录,例如 rmdir text 删除text目录。rmdir -p test1/test2,利用 -p 这个选项,可以将 test1/test2 一次删除。
5.ls
显示当前目录下的清单,如果要看详细的信息可以用ls -l (显示长串信息),ls -al(包含隐藏档)
6.touch
新建一个文件,例如 touch 1.txt 创建一个文本文件。
7.rm
如果要删除的目录不是空目录,可以用rm 命令
-r 的意思是递归删除,-f的意思是强制删除,上面可以看出我用 rm -rf test命令的时候,把目录名打错了,所以建议大家以后多用 tab键补全。
8.cp
复制文件或目录,cp 源文件 目标文件,例如 cp 1.txt /tmp 将当前目录下的1.txt文件复制到 /tmp 目录下
如果目标目录下已经存在该文件,执行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 -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 lm='ls -al | more,这个指令名称为 lm ,其实执行的是ls -al | more
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目录下建立一个软链接,如果原文件丢失则软链接也失效
44.service network restart
重启网络服务。将network换成sshd则是重启ssh服务。
45.vim
编辑器命令。vi是编辑器命令,加上-m后直接变成强大的编辑器
进入文件后按下a/i/o会进入输入模式,按esc按钮会退出到浏览模式。此时shift+;会出现命令行。
命令行下:-w是保存,-q是退出。通常保存并退出会使用wq命令