命令语法: 命令 【参数选项】 【文件或路径】 rm -rf /etc/hosts 1、mkdir(make directorys) 创建目录 例子:mkdir /data -p 如果目录存在,不报错;递归创建目录 -v 显示创建过程 mkdir -pv /tmp/{1..5}/{6..8} 2、ls(list,同dir) 列表目录文件 例子:ls / -l (long)长格式,查看文件详细信息 -d (directory)只显示目录 -h 人性化显示属性信息 -F 给所有文件加标识 -p 给目录文件加标识 -a 显示所有文件,默认.开头的文件为隐藏文件 -t 按修改时间从大到小排序 -r 逆序排序 -i 查看inode节点 --time-style=long-iso 格式化显示时间 3、cd(change directorys)改变目录路径 例子:cd / 绝对路径与相对路径区分 help cd; $PWD(pwd) $OLDPWD(-) cd - 返回上次目录 cd .. 返回上一级目录 cd (~) 返回用户家目录 4、pwd(print work directory) 显示当前所在路径 $PWD pwd pwd -L pwd -P 5、touch 创建文件或更新文件的时间戳 touch stu{1..1000} stat oldboy.txt 显示文件详细属性 -a 改变文件访问时间 access -m 改变文件的修改时间 modify 6、vi/vim 文本编辑器,类似windows记事本,简单。 : w 保存 q 退出 ! 强制 set nu/set nonu 显示/不显示行号 %s///g 总结vi命令!!!!!!!!!!!! 例子: vi oldboy.txt vi file +n vi file + vi file +/Password vi file...file 7、echo 打印输出内容,一般配置'>'或'>>'可以为文件覆盖或追加内容 -n 不换行输出 -e 可以使用转义字符( 、 等) '>' 意思是重定向,会清除文件里所有以前的数据 '>>' 为内容追加,追加到文件内容末尾位置 echo ' 1111 2222 3333'>>/data/oldboy.txt 7、cat 查看文件内容 -n 显示行号 -e 可以识别转义符 -b 只为非空行计数 -E 在每一行的末尾打印一个$符 -s 压缩空行,可将多个空行压缩成一个空行来查看 -T 区分tab键和空格 -A 相当于-vET 例子: cat oldboy.txt cat >/data/oldboy.txt(Ctrl+c、Ctrl+d退出) cat >>/data/oldboy.txt<<EOF (EOF可变) cat 文件1 文件2 >文件3 #合并文件 8、xargs 从标准输入(管道或stdin、输入重定向)获取数据,并将数据转换成命令行的参数 -i 把获取到的数据丢进{}里面 -n 按组输出内容 例子: xargs -n 4 文件名 find . | xargs -i(I) mv {} /tmp/ 9、cp(copy) 复制,拷贝文件或目录 -r 复制目录(-a也可以) -i 覆盖提示是否确认执行操作,系统别名alais默认覆盖提示 -p:连同文档属性一起复制过去,而非使用默认属性 -d:链接文件 -a(相当于pdr) 保留文件的所有属性 备份简易方法: 用{,} 例子: cp /etc/ssh/sshd_config{,ori} cp /mnt/test.txt /tmp/ /bin/cp /mnt/test.txt /tmp/ 10、mv(move) 移动文件或更名文件 移动或更名 -i 覆盖提示是否确认执行操作,系统别名alais默认覆盖提示 例子: mv /etc/passwd /tmp/ 11、rm(remove) 删除文件 12、rmdir 目录 删除空目录 -f(force) 强制删除 -r(recursive) 删除目录文件 13、find 查找 -type 文件类型(f(file),d(directory),c(character),b(block),s(socket),l(link)) -name 文件名 -mtime (modify time)按修改时间查找,+7(七天以前),7(第七天),-7(最近四天) -atime (access time)按访问时间查找 -ctime (change time)按文件状态改变时间查找 -maxdepth 数字 查找几层目录(查找深度) -size 指定文件大小范围 -a 取并集 -o 或 用法:find 路径 -type f -name '文件名' -exec rm {} ; 14、grep linux三剑客(awk、grep、sed)之一 过滤需要的内容 -v 排除内容 -n 对匹配的内容打印行号 -E 过滤多个字符串(相当于egrep) -i 不区分大小写过滤 -w 以单词方式匹配 -o 只显示匹配到的内容 -A (after)匹配输出内容行并输出内容行后的指定行 -B (before)匹配输出内容行并输出内容行前的指定行 -C (context)匹配输出内容行并输出内容行的前后指定行 --color 过滤的内容显示颜色 例子: grep -v "1" /data/oldboy.txt grep -n .("") /etc/passwd ls -lp(F) |grep ["^d"、"/$"] grep 20 -A 10 /data/ett.txt grep 25 -C 5 /data/ett.txt grep 30 -B 10 /data/ett.txt 15、head 头、头部,读取文件的前n行,默认显示前10行 -num 查看前几行(相当于-n num) -c 查看行内容的前几个字符 -n +num 去除最后几行 -v 标记显示文件头 例子:head (-n 2)-2 /data/oldboy.txt 显示文件的第20到30行: head -30 ett.txt |tail -11 grep 20 -A 10 /data/ett.txt grep 25 -C 5 /data/ett.txt grep 30 -B 10 /data/ett.txt sed -n '20,30'p ett.txt awk '19<NR && NR<31' /data/ett.txt 16、tail 尾、尾巴,输出文件的后n行,默认后显示10行 -num 显示文件内容尾部指定行 -f(tailf) 实时观察一个文件的尾部信息的变化 -F 对比-f多个重试功能,没啥用 例子: tail -2 /data/oldboy.txt tail -f /var/log/messages tailf /var/log/messages 17、tree 显示目录树(树形显示目录下文件) yum install tree -y 安装tree -a 显示所有文件 -L layer,显示指定层内的文件 -d 只显示目录文件 -f 显示文件完整路径 -i 不显示缩进线 -F 区分目录文件和普通文件 tree -dLfi . 18、alias 查看和设置别名 作用: 1.防止人为误操作 2.把复杂的字符串或命令变成简单的字符串或命令 alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0' alias rm='echo this command does not allow to use.' unalias 取消别名 unalias cp 恢复系统别名: source /root/.bashrc 系统别名的系统文件: /etc/profile 全局生效 ~/.bashrc 当前用户生效 19、seq(sequence序列) -s 指定分隔符," " -f 指定数组前缀 -w 数组加0 例子: seq 100 >/data/ett.txt 20、sed(stream editor) 流编辑器,实现对文件的增删改替换查 -i 正式修改内容 -n 取消默认输出 -e 允许多项编辑 -r 使用扩展正则表达式 = 在文件内容行前增加一行行号 s 查找并替换 g 全局替换 p 打印 '/ /p' 正则表达式匹配/ /里面的内容并输出 '2s///g' 2指代第二行 's#()()#12#g' 分配处理 增删查改 sed -i '22p' /etc/passwd sed -i '22d' /etc/passwd sed -n '/root/p' sed -i 's#root#Caiyun#g' 例子: sed -i 's#oldgirl#gongli#g' oldboy.txt sed -n '20,30'p ett.txt sed -n '/emp/p' /etc/passwd ls -lF | sed -n '/[^d,$/]/p' sed = /etc/passwd |sed -n 'N;/ / /p' sed = /etc/passwd |sed 'N;s/ / /' 21、awk 过滤、输出内容,一门语言。 -F 指定分隔符 NR 指定行号 $0 表示全行($1表示第一列以此类推) $NF 表示最后一列 '/ /' 正则表达式匹配/ /里面的内容并输出 if 条件语句 例子: ① awk '19<NR && NR<31' /data/ett.txt ② awk '{if($2>1) print $0}' ③ awk '/emp/' /etc/passwd ④ awk -F '[ :]+' '{print NR,$1}' /etc/passwd "+"表示多个分隔符 22、ntp 校准时间: ntpdate cn.pool.ntp.org 23、useradd 添加用户 -g 指定所属组 语法:useradd 用户名 例子: useradd caiyun -g dudu 24、passwd 为用户设置或修改密码 语法:passwd 用户名 echo "123456"|passwd --stdin Caiyun 非交互式修改密码 25、uname 打印系统信息 -m 32位or64位 -r 内核版本 -a 显示所有信息 -n 显示主机名,相当于hostname命令 26、hostname 显示和设置主机名,临时生效 /etc/sysconfig/network 配置文件 [root@oldboy ~]# set |grep PS1 PS1='[u@h W]$ ' 27、runlevel 查看当前运行级别 28、init 切换运行级别 29、shutdown(half、init 0) 关机命令 shutdown -h now 关机 shutdown -r now 重启 30、reboot(init 6、shutdown -r now) 重启命令 31、chkconfig 管理开机是否启动服务命令 32、export 设置特殊变量 export TMOUT=10 超时退出 export HISTSIZE=5 设置命令行历史记录命令数量 export HISTFILESIZE=5 设置历史记录命令记录文件生效 永久生效:/etc/profile 33、history 查看历史记录 -c 清除所有历史记录 -d 删除某条历史记录 34、tar tar -zxvf 压缩包 35、nl number lines 查看文件并显示行号 例子: nl /etc/passwd 36、less 分屏显示文件内容,可以回退(跟vi界面类似,但是不可以编辑文件) -N 显示行号打开文件 例子: less (-N) /etc/services 37、more 分屏显示文件内容 -num 定义分屏显示行数 +num 定义到文件的第几行 space 向下(z) b 向上 h 查看帮助(?) / 搜索文件内容 v 进入vi编辑器模式 ! 在bash环境下执行命令 38、wc 为每个文件打印换行符,字和字节数 -l(lines) 显示总行数 -L(max-line-length) 显示文件最长行的长度 -c(bytes) 统计字节数 -m(chars) 统计字符数 -w 统计单词个数 例子: wc -l test.txt 39、ps 报告当前进程的快照(report a snapshot of the current processes.) -e -f 40、netstat 打印网络连接,路由表,接口统计信息,伪装连接和多播成员资格 -lntup 例子: netstat -lntup 41、chkconfig --list 列出所有chk管理服务 --level 指定级别 --add 增加chkconfig管理服务 例子: chkconfig (--level 3) sshd off/on chkconfig --list sshd 管理: 创建一个脚本 /etc/init.d/service.du 在脚本里放入chkconfig启动管理代码 往chkconfig程序里add脚本服务 测试!!! 42、ln(links) 创建链接文件 -s 创建软链接 例子: ln /etc/passwd /tmp/passwd.ori ln -s /etc/passwd /tmp/pwd readlink 查看软链接文件路径指向 43、bash 把信息作为命令执行 例子: chkconfig |grep "3:on"|egrep -v "sysstat|sshd|rsyslog|network|crond"|awk '{print "chkconfig",$1,"off"}' |bash 44、file 查看文件类型 例子: file /etc/passwd 45、stat 显示文件或文件系统状态(详细) 例子: stat /etc/passwd 46、dumpe2fs 查看文件系统内部信息(元数据),inode、block等信息 例子: dumpe2fs /dev/sda1 47、df 查看系统磁盘信息 -h 人性化显示 -i 查看文件分区inode使用情况 -T 查看当前挂载的文件系统类型 例子: df -hT df -i 48、last 查看用户登录信息,对应/vat/log/wtmp数据文件 例子: last 49、lastlog 查看所有用户最近登录信息,对应/var/log/lastlog数据文件 例子: lastlog 50、du 查看文件大小 -s 只显示每个参数的总数 -h 人性化显示 51、id 查看用户信息,包括用户用户组等 52、date 查看当前时间 %y 显示年 %m 显示月 %d 显示日 %F 以yyyy-mm-dd格式显示年月日 %w 显示周几 %H 显示时 %M 显示分 %S 显示秒 %X 以hh:mm:ss格式显示时分秒(跟%T差不多) date +%F -d "-1day" 等方式查看过去将来的时间 53、which 查看二进制命令所在路径(从PATH变量所在的路径查找) 54、whereis 查找命令的帮助、源代码 -b二进制 55、locate 根据文件名查找文件 只能updatedb库里内容,locate从/var/lib/mlocate/mlocate.db 56、top 查看资源占用情况 LANG字符集变量 PATH环境变量 命令默认路径搜索 PATH="$PATH:/root" export PATH="$PATH:/root" 56、rename 重命名文件 rename "取出文件名内容" "替换成...内容" 文件名 57、basename 全路径文件时,去掉路径,保留文件名 58、dirname 全路径文件时,去掉文件名,保留路径 59、md5sum 校验文件时使用,查看文件的md5值 60、usermod 更改用户所属组 例子: usermod -g dudu caiyun 61、groupadd 创建用户组 例子: groupadd caiyun 62、chown(change owner) 更改文件的所属用户和所属组(所有者) -R 递归赋予用户及用户组 例子: chown caiyun.dudu 文件名 chown caiyun. 文件名 chown .dudu 文件名 chown caiyun 文件名 63、chmod(change mode) 更改文件权限许可,umask -R 同时更改目录及目录下文件的权限 u g o a all + - = r w x 0 例子: chmod 755 test.sh chmod g+w,o-x test.sh 64、umask 文件默认权限 配置文件/etc/profile 65、userdel 删除用户 -r 删除家目录 66、chattr 更改Linux文件系统上的文件属性,可用于锁定文件 i (immutable一成不变)设置文件不可变,即锁住 a (append only)只允许追加内容 67、lscttr 查看Linux文件系统上的文件属性 68、crontab 相关配置文件或系统路径: /var/spool/cron/、/var/log/cron*、/etc/cron.allow、/etc/cron.deny、/etc/crontab、(visudo /etc/sudoers) 维护个人用户的crontab文件 /etc/crontab 全局? -l (list)查看crontab文件内容 crontab -l == cat /var/spool/cron/[user] -e (edit)编辑crontab文件内容 crontab -e == vim /var/spool/cron/[user] -i 删除crontab文件内容,删除前会提示确认 -r 删除crontab文件内容 -u 指定使用的用户执行 * * * * * - , /n %F 百分号要转义 PATH加入文本用法 69、tac 行号反向查看文件内容(与cat相反) 70、rev 行内容反向读取 71、cut 删除每行文件中的部分 -b 切割字节 -c 切割字符 -d 以tab作为分隔符,与-f配和使用 -f 指定第几列,默认tab键作为分隔符(awk默认空格作为分隔符) -n 打印不可见字符 例子: cut -b 3-4 test cut -b 4- test cut -b -3 test 72、fdisk Linux分区表操作器(2T以内磁盘) -l 查看磁盘分区信息(cat /proc/partitions) /dev/sdb 修改磁盘分区表信息 q(Ctrl+c) 退出 n 进行分区 p 查看磁盘当前分区情况 例子: fdisk -l fdisk /dev/sdb 73、partprobe 加载分区信息到内核(通知内核分区系统分区表配置变更) 例子: partprobe /dev/sdb 74、parted 分区操作程序 /dev/sdb mklabel gpt 切换分区类型位gpt mkpart primary 0 10 创建一个主分区 例子: parted /dev/sdb 75、mkswap 将文件系统格式化为swap格式(格式化swap分区) 例子: mkswap /dev/sdb2 76、swapon 载入/使用swap分区 例子: swapon /dev/sdb2 77、swapoff 卸载swap分区 例子: swapoff /dev/sdb2 78、dd 转换和拷贝文件 例子: dd if=/dev/zero of=/tmp/dudu bs=1M count=100 创建一个1000M的dudu文件 79、tune2fs 修改文件系统信息 80、fsck,badblocks 磁盘检查 例子: fsck -C -f -t ext4 /dev/sdb2 ===>没坏的磁盘不要用这个命令 badblocks -sv /dev/sdb2 ===>此命令可被fsck替代 81、lsmod 查看模块加载情况 82、mkfs.ext4(mkfs -t ext4) 格式化分区或磁盘位ext4文件系统类型 -t 指定文件系统类型 -b 指定block大小 -I 指定inode大小 例子: mkfs -t ext4 -b 4096 -I 256 /dev/sdb2 83、mount(cat /proc/mounts 查看挂载情况) 挂载文件系统 -t 指定文件系统类型 -o 指定选项 例子: mount -t ext4 /dev/sdb2 /mnt 84、umount 卸载文件系统 -lF 强制卸载 例子: umount /mnt umount /dev/sdb2 85、megacli 查看raid信息 86、ipmitools 查看硬件信息工具 87、resize2fs 调整文件系统大小(常用于lvm) 88、split 切割文件(按照指定的行数或大小分割文件) -l 指定行数 -a 指定分割后生成文件后缀长度 -d 使用分割后生成文件为数字后缀 -b 指定分割大小 例子: split -l 10 /etc/inittab /tmp/new_ 89、paste 合并文件的行 -d 指定文件内容合并的分隔符(默认为tab键) -s 行列转换 例子: paste -d : 1.txt 2.txt 90、sort 排序文件内容(默认按ascii码升序排序) -n 按照数值排序 -r 倒序排序 -u 压缩相同行成1行,包括不相邻的相同行(uniq忽略相邻重复的行) -t 指定分隔符 -k 指定排序区域(第几列) 例子: sort -n test.txt sort -k2 test.txt sort -t: -k2 test.txt 91、dos2unix(unix2dos) 把Windows格式转换成Linux格式(Windows换行符 ,Linux换行符 ) 例子: dos2unix test.txt 92、diff(vimdiff可视化对比工具) 比较文件内容和目录的不同 a add增加 c change改变 d delete删除 例子: diff text1.txt text2.txt 93、tr 替换或删除字符串,单个字符一一对应 -d 删除 例子: tr 'acb' 'ABC' <test.txt a替换成A,c替换成B,b替换成C tr -d '0' <test.txt tr -d " " <test.txt tr ' ' '=' <test.txt 94、rsync 一个快速,多才多艺的远端(本地)文件拷贝工具 -v,--verbose 详细模式输出,传输时的进度等信息 -z,--compress 传输时进行压缩以提高传输效率,--compress-level=NUM可按级别压缩 -a,--archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rtopgDl ================================================================== -r,--recursive 对子目录以递归模式,即目录下所有文件都同样传输,注意小写r -t,--times 保持文件时间信息 -o,--owner 保持文件属主信息 -p,--perms 保持文件权限 -g,--group 保持文件属组信息 -P,--progress 显示同步的过程及传输时的进度等信息 -D,--devices 保持设备的文件信息 -l,--links 保留软链接 -e,--rsh=COMMAND 使用的信道协议,指定替代rsh的shell程序,例如:ssh --exclude=PATTERN 指定排除不需要传输的文件模式(和tar参数一样) --exclude-from=file 文件名所在的目录文件(和tar参数一样) --bwlimit=RATE limit socket I/O bandwidth --delete 让目标目录DST和源目录SRC数据一致 --daemon 启动rsync服务 例子: rsync -avz /backup/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password rsync -avz /backup/ rsync://rsync_backup@172.16.1.41/backup/(zimulu) --password-file=/etc/rsync.password 95、lsof 列表打开的文件(linux下一切皆文件) -i 查看指定的协议和端口所对应的服务 例子: lsof -i tcp:22 △ 查看命令帮助的几种方法: a. 【命令】 --help 适用于一般命令,非内置命令 b. man 【命令】 适用于一般命令,非内置命令 c. help 【命令】 只用于内置命令 d. info 特殊符号: △ 标准输入(stdin):代码为0 △ 标准正常输出(stdout):代码为1 △ 标准错误输出(stderr):代码为2 >或1> 输出重定向 >>或1>> 追加重定向 0<或< 输入重定向 0<<或<< 追加输入重定向 例子: cat /data/oldboy.txt 0<<EOF I am studying linux. EOF 2> 错误重定向 2>> 错误追加重定向 △ 命令 >a.txt 2>&1; 命令 &> a.txt | 管道符 . 当前目录 .. 上级目录 / 根目录 ; 命令分隔符 {} 序列 ~ 当前用户家目录 - 上一次所在目录 !取反 -a 并集 -o 或者 && 并且 Ctrl+c 终止当前任务命令或程序 Ctrl+d 退出当前用户环境,相当于exit Ctrl+l 清屏,相当于clear命令 Ctrl+shift+c 复制 Ctrl+shift+v 粘贴 Ctrl+e 结尾 Ctrl+a 开头 Ctrl+u 清除前面的 Ctrl+k 清除后面的 Ctrl+s 挂起 Ctrl+q 解除挂起 yum update //更新补丁 常用软件:lrzsz,telnet,tree,nmap,nc