Linux系统命令
目录相关命令
mkdir:创建目录,参数-p 当需要创建父目录时创建父目录 -v 每次创建一个目录返回一个信息
ls:查看目录,参数-l 长格式显示具体属性 -d 只查看目录本身 -a 显示隐藏文件和目录 -F 显示结果加上对应结束符 -r 降序排序 -t 按修改时间排序 -h 显示占用的空间大小 -i 显示索引节点inode节点号 --time-style 格式化时间(--time-style=long-iso)
cd:切换目录
pwd:显示当前目录的绝对路径,参数-L 显示系统变量PWD的值,为逻辑路径,默认使用该参数 -P 显示物理路径,链接文件会显示其指向的文件路径
mv:移动文件或目录到指定位置,移动目录时结尾不要加/
tree:以树形图形式显示目录结构,参数-a 显示目录的所有内容 -d 只显示目录 -L 显示目录层级,可以接数字指定 -f 显示每个文件的完整路径 -i 不显示横线 -F 显示结果加上相应结束符
文件相关命令
cat:查看文件内容,参数-n 显示行号,特别用法:cat 文件1 文件2 > 文件3 将文件内容上下合并并重定向到新文件中
touch:创建文件和更新时间戳,参数-a 只更新访问时间 -m 只更新修改时间
vim:文本编辑器,由vi扩展而来,一般用于开发,有四种工作模式且每种模式有各自的命令集。
命令模式:vim的初始模式环境,命令模式下可用命令大致如下
    光标跳至行首       ^(shift键+数字6键)  数字0键  Home键
    光标跳至行尾       $(shift键+数字4键,可在$前加数字表示定位到当前行后第几行末尾,1代表当前行,2代表当前行下面一行以此类推)  End键
    删除单个字符       字母x键或者Delete键
    光标删除至行首      字母d键+^
    光标删除至行尾      字母d键+$
    取消当前行最近一次操作  字母u键
    取消当前行所有修改    U(shift键+字母u键)
    取消当前行最近一次撤销  ctrl+r
光标左移 字母h键 方向键左键
光标右移 字母l键 方向键右键
光标上移 字母k键 方向键上键
光标下移 字母j键 方向键下键
向上翻页 ctrl键+字母b键 PageUp键
向下翻页 ctrl键+字母f键 PageDown键
返回顶部 字母g键+字母g键
移动到指定行 数字键+G(shif键+字母g键)
剪切 数字键+字母d键+字母d键(表示剪切当前行开始n行内容,不加数字只剪切当前行)
复制 数字键+字母y键+字母y键(表示复制当前行开始的n行内容,不加数字只复制当前行)
粘贴 字母p键(粘贴在当前行下面) P(shift键+字母p键,粘贴在当前行上面)
查找 /键+查找内容 光标移动到单词上按shift键+数字8键
插入模式:i,I,o,O,a,A可进入插入模式,i在当前位置前插入,I在当前行行首插入,a在当前位置后插入,A在当前行行尾插入,o在当前行下面插入一行,O在当前行上面插入一行。
可视模式:ctrl+字母v键可以进入可视模式,可视模式可用命令大致如下:
多行注释 上下移动光标选中要注释的行,按shift键+字母i键然后输入注释符,最后按esc键就可以注释多行
取消多行注释 上下移动光标选中要取消注释的行,按字母d键就可以取消注释
末行模式:shift键+;键可进入末行模式,末行模式可用命令大致如下:
    另保存  w  新文件路径
    编辑其他文件  e  文件路径
    读取其他文件  r  文件路径
    替换当前行第一个关键词  s  /old/new
    替换当前行所有关键词  s  /old/new/g
    替换第n-m行所有关键词  n,m  s/old/new/g
    替换文件内所有关键词  %  s/old/new/g
    显示或不显示行号  set  nu/nonu
    开启或关闭查询结果高亮  set  hlsearch/nohlsearch
保存退出 wq(加上!可以强制退出)
vi:文本编辑器,使用与vim相同
echo:输出指定字符串,参数-n 与下一个echo的输出在同一行显示 -e 支持转义字符(\t,\n等)
cp:复制文件或目录,参数-r 递归复制 -p 保持文件或目录的属性 -f 强制复制 -d 如果源文件是链接文件则拷贝链接文件而不是其指向的目标文件 -a 相当于-rpd
rm:删除文件或目录,参数-f 强制删除 -r 递归删除,用于删除目录
grep:过滤结果,Linux三剑客之一,参数-i 不区分大小写 -v 排除 -E 过滤多个关键词 --color 匹配结果显示颜色 -n 显示行号 -o 只显示匹配的内容 -B 显示匹配行及其之前的n行 -A 显示匹配行及其之后的n行 -C 显示匹配行及其前后各n行
head:获取文件头部指定多少行的内容,参数-n 指定需要获取的总行数,可以简写为-2,-3等,默认获取前十行
tail:获取文件尾部指定多少行的内容,参数-n 指定需要获取的总行数,可以简写,默认获取最后十行
sed:过滤结果,Linux三剑客之一,参数-n 取消默认输出 -i 修改文件 -e 允许多项编辑 -r 使用扩展的正则表达式,功能参数p 打印(^打印首行,$打印尾行) s 替换 g 全局
awk:过滤结果,Linux三剑客之一,参数-F 指定分隔符(指定多个分隔符需要将多个分隔符写在方括号中在方括号后跟上+号,如指定两个分隔符空格和冒号 [ :]+),内置变量NR 用于显示数据行的编号,可用于过滤文件,统计目录内的文件数等
cut:分割数据,参数-d 指定分隔符 -f 指定获取分割结果的哪些位置的字段 -c 指定获取哪些位置的字符
stat:查看文件详细属性,参数-c 以指定的格式输出(%a:获取文件的权限并以八进制数字显示,%A:获取文件的权限并以可读的方式显示)
nl:查看文件时显示行号
less:分页显示文件内容,参数-N 显示行号
more:分页显示内容,无法向前翻页
chattr:设置文件或目录的属性,参数-i 设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容
lsattr:查看chattr设置的属性
tr:删除,替换,压缩标准输入中的字符,参数-d 删除指定字符 -c 一般与-d参数配合使用删除指定字符外的所有字符 -s 指定字符如果重复出现则只显示一个
#将输入字符由大写转换为小写 echo "HELLO WORLD" | tr 'A-Z' 'a-z' #删除输入字符中的数字 echo "hello 123 world 456" | tr -d '0-9' #删除输入字符中'0-9 \n'以外的字符 echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n' #替换掉输入字符中重复的s和n echo "thissss is a text linnnnnnne." | tr -s ' sn'
rename:文件重命名
rev:将字符串的第一个字符和最后一个字符位置互换
tac:将文件内容按行上下位置互换
split:用于切割文件内容,命令格式split 被切割的文件 新文件的文件名前缀,参数-l 指定文件切割的行数 -a 指定新文件后缀长度 -b 指定文件切割的大小(单位K、M。。。) -d 使用数字后缀
paste:用于将两个文件的内容合并,命令格式paste 文件1 文件2,将文件左右合并,参数-d 指定文件内容之间的分隔符 - s 一行内容以一列的形式显示
dos2unix:将Windows文件格式转换为unix文件格式
diff:比较文件或目录的不同,结果中a为add c为change d为delete
vimdiff:可视化比较文件的不同,需要退出两次
网络相关命令
ifconfig:查看服务器网卡信息,参数-a 显示所有网卡信息
ifdown:禁用指定网卡
ifup:启用指定网卡
ip:一般用于查看网卡和路由信息,用法ip addr查看网卡信息 ip route查看路由信息
netstat:查看端口状态,参数-a 显示所有开启的端口 -n 以数字形式显示 -t 只显示TCP连接 -p 显示进程名 -l 只显示监听状态的端口
ping:检测与指定IP间是否连通,参数-t Ping 指定的IP直到中断 -n 指定ping包个数 -a 将IP解析为主机名 -l 指定ping包大小,最大值是65,527字节 -w ping的超时时间
mtr:路由追踪,参数-s 指定数据包大小 -n 不做域名解析 -a 指定发送数据包的IP(服务器有多个IP时使用) -i 指定ping的时间间隔,单位秒
telnet:检测远程主机端口连通性,用法telnet IP 端口
nmap:检测远程主机端口开放情况,用法namp ip
route:查询与设置路由信息,参数-n 以数字形式显示 -f 清空路由 add 添加路由信息 del 删除路由信息 -net 目标网络 -host 目标主机 netmask 目标网络的子网掩码 dev 指定路由生效的网卡 default 默认路由 gw 设置网关 reject 屏蔽的路由
#添加路由让目标网段为192.56.76.0网段的路由都走eth0,子网掩码为255.255.255.0 route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 #添加默认网关192.168.137.1 route add default gw 192.168.137.1 #屏蔽到 10.0.0.0网段的路由 route add -net 10.0.0.0 netmask 255.0.0.0 reject #添加路由192.168.137.0网段的网关为192.168.137.1 route add -net 192.168.137.0 netmask 255.255.255.0 gw 192.168.137.1
用户与用户组相关命令
useradd:新建用户账号,参数-c 添加注释信息 -U 指定用户组 -u 指定UID -d 指定家目录 -e 指定账号失效时间 -g 指定GID -G 指定附加组 -M 不创建家目录 -s 指定shell环境
userdel:删除账号,参数-r 删除该账号下所有文件和信息
usermod:修改账号属性,参数-l 修改用户名 -L 锁定账号 -U 解锁账号
chage:修改密码有效期,参数-l 列出密码有效期信息 -E 指定密码失效时间 -I 密码失效后多久锁定账号 -m 密码最短多久需要修改 -M 密码最长多久需要修改 -m 用户家目录不存在就创建
passwd:设置修改密码,参数--stdin 从标准输入获取密码 -d 清除用户密码 -l 锁定账号 -u 解锁账号 -S 查看账号状态
id:查看用户ID
su:切换用户,用法su - 用户名,不加用户名默认切换到root,参数- 切换系统环境变量到当前用户下 -c 以指定用户身份执行单条命令
chmod:修改文件或目录的权限设置,参数-R 权限设置对目录下所有文件和子目录生效
chown:修改文件或目录的属主
chgrp:修改文件或目录的属组
      groupadd:增加用户组,参数-g  指定GID
groupdel:删除用户组
打包压缩相关命令
tar:打包命令,参数--exclude 打包时排除指定文件 -c 创建归档文件 -x 解开归档文件 -C 指定释放目录 -f 使用归档文件 -z 使用gzip压缩和解压 -j 使用bzip2压缩和解压 -v 显示打包和解包的过程 -t 查看归档文件中包含哪些文件
搜索操作相关命令
find:查询命令,命令格式find 查找的目标路径 参数 -exec 命令 {}\;,参数-type 按类型查找,f文件,d目录,c字符,l符号链接,sSocket文件,b块设备 -mtime 按修改时间查找+n表示多少天之前修改的,n表示第几天修改的,-n表示多少天内修改的 -! 取反(需写在取反条件之前,如-! -name 'test.txt') -name 按名字查找 -size 文件大小(+nM|K 大于nM,n 等于nM,-n 小于nM) -a 表示左右条件同时满足 -o 表示左右条件满足一个即可 -exec 用于对查询结果做进一步处理 -delete 删除,详细参数说明http://man.linuxde.net/find
which:查询扩展命令的绝对路径
命令帮助相关命令
man:查询扩展命令的帮助信息
help:查询内置命令的帮助信息
服务器信息相关命令
top:查看系统实时运行状态信息,参数-H 显示线程信息 -p 显示指定进程号的进程信息 -u 显示指定用户的进程信息 -i 指定刷新时间间隔,功能选项k 杀死指定进程号的进程 q 退出,top命令详细说明
strace:跟踪显示进程的系统调用信息,参数-p 显示指定进程的系统调用信息,strace命令详细说明
uname:显示系统信息,参数-a 显示所有信息 -m 显示操作系统位数 -n 显示主机名 -r 显示内核版本 -s 显示操作系统名称 -p 显示处理器位数
whoami:查看当前用户用户名
who:查看所有登陆用户的登陆信息
hostname:查看和临时设置主机名
runlevel:查看系统运行级别
dmesg:查看系统故障信息
env:查看系统环境变量
history:显示命令行历史记录,参数-c 清空历史记录 -d 删除指定编号的命令行历史
hwclock:查看设置硬件时间,参数-w 与系统时间同步 -r 显示当前硬件时间
date:查看设置系统时间,参数-s 设置系统时间 +时间日期格式 以指定格式显示时间,date命令详细说明
ulimit:查看和修改系统限制,参数-a 显示系统所有限制信息 -n 查看或设置系统最大可用文件描述符(ulimit -n 65535)
dumpe2fs:查看文件系统信息
df:查看磁盘空间以及inode节点使用信息,参数-h 可读的格式显示大小 -i 显示inode信息
du:查看目录或文件占用的空间大小,参数-s 只显示指定目录占用空间的大小总和 -h 以可读的方式显示大小
lsof:列出被进程调用的文件的信息,一般用于查看某个端口是否已启用,参数-i 列出符号条件的进程(4即ipv4,6即ipv6,协议,:端口,@IP),详细参数说明http://man.linuxde.net/lsof
last:显示用户最近登陆信息
lastlog:显示所有用户最近一次登陆信息
安全相关命令
sudo:使普通用户可以使用超出权限的命令,用法sudo cmd,比如sudo /etc/init.d/network restart,参数-l 查看当前用户被授权执行的命令 -v 追踪最新的时间戳 -u 指定用户身份执行命令 -k 删除时间戳
visudo: 配置sudo权限的编辑命令,参数-c 检查配置文件语法是否正确
getenforce:查看selinux运行级别
setenforce:设置selinux运行级别
进程相关命令
ps:查看当前服务器运行中的进程,参数-e 显示系统所有进程 -f 以完整格式显示 -a 显示当前终端下的所有进程 -u 以用户为主的格式显示 -x 显示当前用户在所有终端下的进程
其他命令
xargs:用于从标准输入获取内容,并将该内容作为后面命令的参数,主要用于将前面命令产生的多行结果合并为一行再让其后的命令进行处理,参数-n 表示分组数,没有该参数默认在一行显示 -i 将标准输入的内容与{}关联起来
seq:生成数字序列,命令格式seq 参数 起始数字 步长 结束数字,参数-s 指定分隔符,默认是换行符
sort:排序命令,参数-r 降序排序 -n 按数值排序 -k 指定按第几列的数据排序 -u 排除所有重复行 -t 指定每列的分隔符
uniq:报告或排除重复数据,参数-c 统计数据行重复次数 -d 只显示重复的数据行 -u 显示只出现一次的数据行
alias:查询和设置命令别名,命令格式alias 别名=‘命令’,直接执行alias可查询所有已设置的别名
unalias:取消别名,命令格式unalias 别名
rz:上传文件,该命令由包lrzsz提供
sz:下载文件,该命令由包lrzsz提供
init:修改系统运行级别
shutdown:关闭与重启系统,参数-h 关机 -r 重启
halt:关机
reboot:重启
chkconfig:查看与设置开机启动服务,参数--list 显示指定服务所有级别下的自启动设置,不加服务名显示所有服务 --add 将指定服务添加到自启动管理 --del 将指定服务从自启动管理中删除 --level 指定服务在哪些运行级别自启动,比如chkconfig --level 35 mysqld on,该命令行不加--level参数表示mysqld服务在所有运行级别自启动
source:用于执行shell程序,shell程序中新建和修改的变量会影响当前shell环境,可以用.代替source
sh:用于执行shell程序,新建子shell环境并执行shell程序,shell程序中新建和修改的变量不影响当前shell环境
export:修改环境变量
mount:挂载设备,参数-t 设备类型(iso9660:光盘或镜像,vfat:fat32设备,ntfs:ntfs设备,nfs:unix网络共享,cifs:Windows网络共享) -o 挂载方式(loop:将文件作为磁盘分区,ro:只读,rw:读写,iocharset:指定访问文件系统所用字符集,例如iocharset=utf8,remount:重新挂载)
umount:取消挂载
ntpdate:网络时间同步,参数-u 越过防火墙与时间同步服务器进行时间同步(ntp.api.bz,上海的时间同步服务器)
basename:获取路径中最后一个路径分隔符后的内容
dirname:获取路径中最后一个路径分隔符前的内容
file:查看文件类型
ln:创建链接文件,参数-s 创建软链接
readlink:获取符号链接所指向的源文件文件名
md5sum:生成和校验md5值,参数-c 从指定文件获取md5值并校验 --status 校验成功是不输出任何信息 -w 当校验不正确时输出警告信息
file:查看文件类型
wc:参数-l 查看行数 -L 查看最长一行的字符数
tee:内容输出到屏幕同时重定向到指定文件中,参数-a 追加
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号