Linux常用命令集
命令 | 功能 | 格式 |
cd | 切换目录 | |
cd / #切换到 / 目录 | ||
cd .. #切换到上级目录 | ||
cd ../.. #切换到上两级目录 | ||
cd ./aaa #在当前目录切换到需要到的目录 | ||
cd ~ #切换到用户主目录 | ||
cd – 回到进入当前目录之前的目录 | ||
ls | 显示指定目录和文件的信息 | |
ls -l #以列表的方式显示全部文件 | ||
ls -a #显示全部文件包括隐藏文件 | ||
ls -al 以列表的方式显示包括隐藏文件 | ||
pwd | 显示当前目录 | pwd |
file | 显示指定文件的类型 | file aaa #显示aaa文件的类型 |
su | 切换用户 | su root #切换到root用户 |
ifconfig | 查看网卡接口 | ifconfig |
mkdir | 创建目录 | mkdir aaa #创建aaa目录 |
mkdir -p aaa/bbb #在aaa目录里创建bbb目录,如果没有aaa目录则先创建aaa再在aaa里面创建bbb | ||
touch | 创建文件 | touch bbb #创建一个文件为bbb |
touch aaa/bbb #在aaa目录里里创建bbb文件 | ||
cat | 查看文件内容 | cat bbb #查看bbb文件里的内容 |
cat aaa/bbb #查看文件aaa目录下bbb文件里的内容 | ||
cat -n bbb #显示bbb文件中的全部内容,并显示行号 | ||
echo | 回显;打印 | echo 123 #回显123 |
echo 123456 > aaa/bbb #已覆盖的形式把123456放入文件里 | ||
echo asdfg >> aaa/bbb #以追加的形式把内容放入文件里 | ||
rm | 删除指定文件或目录 | rm -r aaa #删除目录aaa及aaa目录里的所有文件 |
rm-rf aaa #强制删除aaa目录 | ||
rm -i #删除文件的时候询问 | ||
rmdir aaa #删除空目录aaa | ||
cp | 复制 | cp aaa/ccc bbb #把aaa目录下的文件ccc复制到bbb目录下 |
cp aaa/test.out vvv/ppp #将aaa目录下的test.out复制到vvv目录上并重命名为ppp | ||
mv | 剪切 | mv aaa/bbb ccc #把aaa目录里的bbb文件剪切到ccc目录下 |
mv ccc/bbb aaa/vvv #将ccc目录下的bbb 剪切到aaa目录下并重命名为vvv | ||
mv ccc aaa #将ccc目录移动到aaa目录上 | ||
traceroute | 检测网络连通性 | traceroute 10.66.0.1 #检测从本机到10.66.0.1经过多少个路由器 |
ping | 检测网络是否可达 | ping 10.66.0.1 #检测本机是否连接到10.66.0.1 |
more | 分页显示查看文件内容 | more aaa #分页显示aaa的内容 |
more +6 vvv #分页从第六行开始显示vvv文件里的内容 | ||
head | 分页显示 | head -n 5 vvv #显示vvv文件的开头5行 |
tail | 显示指定文件末尾内容,默认显示文件的末尾10行。 | fail vvv #显示文件vvv内容的后10行 |
tail -n 6 vvv #显示vvv尾部最后6行 | ||
tail -f vvv #循环查看vvv文件尾部内容(用来查看日志) | ||
chmod | 更改文件或目录的权限 | chmod mode file |
u:表示该文件的拥有者; g:表示与该文件的拥有者属于同一群体(组)); o:表示其他以外的人(其他用户); a:表示三者皆是。 +:表示增加权限; -:表示取消权限; =:表示唯一设定权限; r:表示可读取; w:表示可以写入; x:表示可执行; | ||
chmod u+x a.out #给a.out的拥有者(u)添加(x)执行权限 | ||
chmod u-x a.out #给a.out的拥有者(u)减去(x)执行权限 | ||
chmod 000 a.out #去掉a.out文件的所有权限 | ||
chmod 777 a.out #给a.out文件添加所有权限 | ||
chmod u-rwx a.out #去掉a.out上拥有者(u)的所有权限 | ||
chmod u+rwx a.out #加上a.out上拥有者(u)的所有权限 | ||
chmod 000 a.out #去掉a.out文件的所有权限 | ||
chmod 777 a.out #给a.out文件添加所有权限 | ||
chmod u-rwx a.out #去掉a.out上拥有者(u)的所有权限 | ||
chmod u+rwx a.out #加上a.out上拥有者(u)的所有权限 | ||
chmod a-w a.out #给a.out的所有用户加上写权限 | ||
chmod a+w a.out #给a.out的所有用户加上写权限 | ||
diff | 比较两个文件或目录内容是否相同,将不同的内容显示出来; | diff a.out b.out #比较a.out和b.out有哪些不同 |
diff aaa/ bbb/ #比较aaa目录与bbb目录有那些不同 | ||
which | 看到某个系统命令是否存在,以及执行的到底是哪一个命令的位置。 | |
find | 查找文件或目录 | find / -name “a.out” #查看 / 目录下所有a.out文件或目录 |
find /etc -name ab* #查看 /etc 目录下所有开头是ab的文件或目录 | ||
find / -name *ab #查看 / 目录下所有结尾是ab的文件或目录 | ||
find /(根目录) -type d -name “aaa” #只在根目录里找文件类型是目录文件文件名是aaa d(目录文件) | ||
wc | 统计指定文件中的字节数、单词数、行数、 | wc -l vvv #查看vvv文件里有多少行数 |
wc -w vvv #查看vvv文件里有多少单词数 | ||
ln | 创建软连接,以路径的形式存在 | ln -s /etc/sysconfig/network-scripts/ifcfg-eth0(创建文件链接的路径) interface (软连接的名字) |
ln -s /etc/sysconfig/network-scripts(软连接文件的路径) good(软连接的名字) | ||
useradd | 添加用户 | useradd kylin 添加用户为kylin |
passwd | 更改用户密码 | passwd |
userdel | 删除用户 | userdel -r kylin #删除kylin用户,并且删除用户目录。参数 -r 删除用户目录。 |
exit | 退出用户 | exit |
vi | 文本编辑器,可以执行输出、删除、查找、替换等操作。 | vi a.out #编辑文件a.out |
退出时按esc键退出输入模式,输入:wq 保存并退出,ZZ保存并退出。 退出时按esc键退出输入模式,输入:q!强制退出,不保存 。 | ||
进入文件后输入A,光标在当前行的最后面输入 进入文件后输入I,光标至当前行的最前面出入 进入文件后输入O,光标在当前行的上一行输入 进入文件后输入o,光标在当前行的下一行输入 | ||
在普通模式下输入dd,删除光标所在的一行 在普通模式下输入x,删除光标所在的那个字 在普通模式下输入3dd,删除光标所在行开始的后三行的所有内容 在普通模式下输入?加需要查找的内容,从下往上查找,输入n查找下一个需要查找的内容 在普通模式下输入/加需要查找的内容,从上往下查找,输入n查找下一个需要查找的内容 在普通模式下输入:%s/a/1/g,把a改为1,g表示全部全文替换。不加g只替换一个。 在普通模式下输入:1,2s/a/1/g,把第一行到第二行的a替换成1。g表示替换全文。不加g只替换一个。 在普通模式下输入u返回上一步。 在普通模式下输入ZZ,保存并退出。 在普通模式下输入:w b.out ,重命名并保存到b.out 在普通模式下输入G,从最后一行查看 在普通模式下输入g,从第一行查看 在普通模式下输入v和y,v是选中y是复制。 在普通模式下输入v和x,v选中x剪切。 在普通模式下输入p,黏贴。 在普通模式下输入yy,复制光标所在的某一行 在普通模式下输入:set nu添加行号。 在普通模式下输入:no set nu取消行号 在普通模式下输入G,光标移动到最后一位 在普通模式下输入gg,光标移动到第一行 在普通模式下输入2gg,光标移动到第二行 | ||
grep | 用于过滤搜索的特定字符,可使用正表达式能多个命令配合使用。 | grep -v “z” a.out 过滤不要a.out里面内容有z的内容 |
grep ^p c.out 显示c.out文件里开头是p的文件 | ||
grep d$ c.out 显示c.out文件里面d结尾的所有内容 | ||
grep 【1-9】 显示c.out文件里面有1~9中任何一个数字内容都显示出来 | ||
sed | 文件处理工具,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作。 | sed -n “/(反斜杠,转义字符)\<kong\>(查找文件内容的单词)/p sss/lliushipeng(文件位置) |
sed -n “3p”c.out #把c.out文件里第三行的内容打印 | ||
sed -i “3d”c.out #把c.out文件里第三行的内容删除 | ||
sed -i “2a\abcd” c.out #在c.out文件里内容的第二行后面添加abcd | ||
sed -i “s/abd/meiguo/” c.out #在c.out文件里内容的abcd替换成meiguo | ||
sed -n “/12/(里面是需要查找的内容)p” aaa (查找文件的名字) | ||
awk | 编程工具;用于对文本和数据进行处理 | awk ‘{print $1}’ c.out #显示第一列的内容 |
awk ‘{print $0}’ b.out #显示全部内容 | ||
awk ‘{print $1 $2}’ b.out #显示第一段第二段内容 | ||
awk -F ‘;’ {print $1$2} b.out #加上-F可以在-F后面自行添加’分隔符’ | ||
history | 查看历史命令 | history |
cat /etc/issue | 查看系统版本 | |
shutdown -r now | 重启 | shutdown -r now |
date | 查看系统日期 | date |
lspci -tv | 列出PCI设备 | lspci -tv |
uname -r | 显示正在使用的内核版本 | uname -r #-a 可以显示内核全部信息 |
cat /proc/meminfo | 显示CPU的信息 | cat /proc/meminfo |
ifdown | 停用网络接口 | ifdown eth0 #停用eth0的接口 |
ifup | 启用网络接口 | ifup eth0 #启用eth0接口 |
route | 路由 | route -n #查看路由 U 生效的; metric 跃点数;iface 接口名 |
route add -net 1.1.1.0/24 gw 192.168.0.1 #添加路由 | ||
route del -net 1.1.1.0/24 gw 192.168.0.1 #删除路由 | ||
scp | 远程拷贝文件 | scp /root/sss/liushipeng(自己文件所在的目录) root(对方的用户名)@192.168.0.172(对方的IP地址):/root(需要放到 对方的哪个目录) |
scp root(对方的用户名)@192.168.0.172(对方的IP地址):/root/AAA/test.out(对方文件的位置) root/vvv(拷贝到自己的哪个目录) | ||
scp /root/vvv/test.out(自己文件的路径) root(对方的用户名)@192.168.0.116(对方的IP地址):/root (放置到对方的哪个目录) | ||
df | 查看文件系统 | df |
du | 显示每个文件和目录占用磁盘使用空间 | du |
umout | 卸载U盘 | |
mount | 挂在U盘 | |
fdisk | 磁盘管理 | |
ps | 查看进程 | ps |
kaill | 杀进程 | kaill 1928 #杀死进程编号为1928的进程 |
kaill ftpd #杀死进程名为ftpd的进程 | ||
netstat | 查看监听端口 | -a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字。 -l 仅列出有在 Listen (监听) 的服務状态 -p 显示建立相关链接的程序名 -r 显示路由信息,路由表 -e 显示扩展信息,例如uid等 -s 按各个协议进行统计 -c 每隔一个固定时间,执行该netstat命令 |
tcpdump | 网口抓包 | tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型 -i eth1 : 只抓经过接口eth1的包 -t : 不显示时间戳 -s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包 -c 100 : 只抓取100个数据包 dst port ! 22 : 不抓取目标端口是22的数据包 src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24 -w ./target.pcap : 保存成pcap文件,方便用ethereal(即wireshark)分析 |
apt-get | 网络下载源 | apt-get install openssh0-server #下载ssh服务器 |
apt-get update #更新软件源 | ||
apt-get dist-upgrade #更新所有的软件 |