本文是基于已学过Linux相关命令的基础上对常用命令进行分类整理,所以有的命令的作用 没有进行详细说明。
文件、目录类
cd dir
cd ‐ //返回上一次所在的目录
cd //cd不加任何,返回home目录
pwd
ls ‐l ll
mkdir dir
mkdir ‐p dir/dir
touch file
rmdir dir //空目录
rmdir ‐p //空目录
rm ‐rf dir
rm ‐rf file
find dir ‐name *.txt | xargs rm ‐rf //将查找出来的文件都删除
cp file dir/file
cp ‐R dir1 dir2 //dir含子目录
mv dir1 dir2
文件查看、处理
cat file
cat ‐n file //查看前面行
head ‐n file
tail ‐n file
more file
less file
cat file1 > file2 //覆盖导入
cat file1 >> file2 //追加导入
vi file
wc ‐l[‐m][‐c][‐w] file //统计行数、字符数、字节数、单词数
文件查询、搜索、替换
grep keyword //常与cat搭配使用 cat file | grep keword
find dir ‐name file/dir //搜索指定目录下的文件/目录名 *.txt ??.log
find ./ ‐name "*.xml" ‐o ‐name "*.xsd" //查找.xml或.xsd的文件
find ./ ‐maxdepth 3 ‐iname "applicationConsumer.xml" //设置查询目录深度
find dir ‐user user1 //搜索属于指定目录下属于user1的文件/目录
locate file //根据索引查找文件,需先运行"updatedb"
sed ‐i 's/string1/string2/g' test.txt //将test.txt中的string1替换成string2;‐i表示修改
sed ‐ne '3,5p' test.txt //查看test.txt的第三行到第五行
awk ‐F : '{print $1,$5}' test.txt //查看test.txt的第一列到第五列,列间用":"隔开
awk '{print $1,$5}' test.txt //查看test.txt的第一列到第五列,列间用空格隔开
文本编辑vi底行模式下
:set nu //显示行号
:set nonu //不显示行号
:n //跳转到指的第n行
:w file //另存为
:n1,n2 s/string1/string2/g //从n1行到n2行将string1替换为string2
:%s/string1/string2/g //将所有行string1替换为string2,%代表所有行,g表示所有string1字 :%s+/usr/local/bin+/usr/bin+g //替换的字符中含有“/”时,用+来代替/
:wq //保存并退出
:q! //强制退出,不保存
文本编辑vi命令模式下
G //到末行
gg //到首行
dd //删除行
u //撤销
yy //复制一行
nyy //复制n行
p //粘贴
归档、解包
tar ‐cvf file.tar file/dir
tar ‐tvf file.tar
tar ‐xvf file.tar //直接解包
tar ‐xvf file.tar ‐C dir //解包到新的目录,只能是dir且必须已存在
压缩归档、解压
tar ‐zcvf file.tar.gz file/dir
tar ‐ztvf file.tar.gz
tar ‐zxvf file.tar.gz //直接解压
tar ‐zxvf file.tar.gz ‐C dir //解压到新的目录,只能是dir且必须已存在
gzip ‐1[~‐9] file //只压缩文件,不支持目录,可批量,参数值越大,压缩率越高
gunzip file.gz //解压
zip file.zip file
zip ‐1[~‐9] file.zip file //同上
unzip file.zip
用户管理
groupadd group1
groupdel group1
groupmod ‐n group2 group1 //将group1重命名为group2
useradd user1
useradd ‐g group1 user1 //创建user1并将其分配到group1组下
userdel [‐r] user1 //删除user1,"‐r"参数表示同时也删除home目录下的相关目录
usermod ‐g group2 user1 //改变user1的组为group2
usermod ‐G group2 user1 //将user1的添加到group2组中来,同时保留原来的主组
passwd //修改当前用户密码
passwd user1 //修改user1用户的密码,仅限root用户执行
su ‐ user1 //切换到用户user1
groups user1 //查看用户user1所属的
权限管理
chmod 644 file/dir //r=4 w=2 x=1
chmod u+x,u‐r,g+w,o+x file/dir
chmod ‐R 644 dir //修改目录及其子文件、目录的权限
chown user file //改变文件的属主
chown ‐R user dir //改变目录的属主
chgrp group1 file //改变文件的属主
chgrp ‐R group1 dir //改变目录的属组
chown user1:group1 file //同时改变文件的属主和属组
chown ‐R user1:group1 dir //同时改变目录的属主和属组
whoami //查看当前操作用户
who //查看当前已登录系统的用户
id user1 //查看用户user1的归属id信
网络配置管理
ifconfig ‐a //查ip信息
ping ‐C 4 192.168.xxx.xxx //ping4次
setup //配置ip、防火墙、服务等,需要root用户执行
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 //临时设置ip
vi /etc/sysconfig/network‐scrippts/ifcfg‐eth0 //永久设置ip
dhclient eth0 //启用dhcp模式
service network restart //重启网络服务[stop、start]
ervice iptables stop //关闭防火墙,[start]开启,[status]查看状态
hostname //查看主机名
netstat ‐an //查看所有端口
lsof ‐i :8080 //查看具体端口号运行的程序
nmap 10.1.252.121 //扫描端口
远程连接
ssh [email protected] //远程连接shell
logout //退出连接
scp ‐r [email protected]:/home/test /home //远程复制目录,复制文件时不用加"‐r"
查看命令帮助
help cd //用于内部命令,如:exit,history,cd,echo等常驻内存
ls ‐‐help //主要用于外部命令,可通过“echo $PATH”命令查看外部命令的存储路径,如:ls、vi等
man ls //命令手册,可用于所有命令,输入"q"可退出
type cd //查看命令类型,内部or外部及命令位置
系统相关命令
shutdown ‐h now //立即关机
shutdown ‐r now //立即重启
uname ‐r //查看内核版本
lsb_release ‐a //查看发行版,系统版本
cal //日历
date //时间、日期
date ‐s "2016‐02‐22 08:00" //修改时间
history //查看历史命令记录,运行时"!"+命令号,如!3314运行3314命令
ps ‐ef //查看进程
kill pid //终止进程
kill ‐9 pid //强制终止进程
killall process_name //按进程名杀死进程(好用)
top //查看当前系统资源使用率
df ‐h //查看磁盘信息
free ‐m //查看内存信息
du ‐h file/dir //查看文件/目录大小 ‐h表示以K,M,G
du ‐sh file/dir //查看文件/目录总大小
mount ‐o loop linux.iso /mnt/dir
umount /mnt/dir
rpm ‐ivh xxx.rpm //安装rpm包
rpm ‐e xxx.rpm //卸载rpm包
其他
ctrl+u/ctrl+k //分别是从光标处向前和向后批量删除命令串
ctrl+a/ctrl+e //分别是将光标移动到最前和最后