格式化以及列出命令的(在线)操作手册。 使用方法 man [ -options ] name man man man ls man cd
列出目录下的内容 ls [option]… [file]… ls #列出当前文件夹下的所有文档 ls -l 等同于ll #列出当前文件夹下的所有文档的详细资料 ls -al #列出当前文件夹下的所有文档的详细资料(包括隐藏文件和父目录) ls -lt #列出当前文件夹下的所有ls文档的详细资料,修改时间倒序 ls -lrt #列出当前文件夹下的所有文档的详细资料,修改时间正序 ls /home/qq #列出某个目录下的所有文档
显示当前或者工作路径。
改变当前所在路径 cd [dir] cd 当前用户主目录 cd /home/qq 绝对路径 cd . 本路径 cd .. 上一级目录 cd ~ 进入到自己的家目录 cd / 根目录 cd - 返回进入此目录之前所在的目录
自动补全
创建目录 mkdir testpwd mkdir /home/qq/test2 mkdir -p /home/qq/test2/test21/test211 #若目录不存在,则创建
拷贝 文件到文件 cp file1 file2 拷贝并重命名 cp /path1/file1 /path2/file2 拷贝并重命名 ?文件到目录 cp file1 ../test1/ 拷贝 cp /home/qq/test1/file1 ./ 拷贝 ?目录到目录 cp -r test1 test2 #递归拷贝
通配符,匹配一个或一个以上任意字符 ls *.txt ls a*.txt cp *.txt /path/to/des/ 自行了解 “?”和”[]”
显示某个命令的完整路径 which指令会在环境变量$PATH设置的目录里查找符合条件的文件。 which ls which cp 另外一个作用:查看某个命令是否安装,或者是否在自己定义的环境变量中。
列出某个命令的位置、帮助手册 whereis指令会在特定目录中查找符合条件的文件。 whereis ls whereis cd 另外一个作用,在which没有查询到的时候,该命令未必不存在,需要再次使用whereis确定。比如bash内建命令
更改文件的时间属性 另外一个作用,创建一个空文件 touch a.txt
删除文件或者目录 rm file1 rm -f file1 #不提示删除,强制删除 rm -rf dir #删除文件夹下所有的文件,不提示删除某个文件夹,一定先执行pwd确定自己的位置,慎用
编辑器,查看或者编辑一个文本 vi a.txt i insert,进入编辑状态 esc 退出编辑状态 :wq! 保存退出 :q! 退出不保存i 非编辑状态下q dd 删除 yy 拷贝 p 粘贴 /uu 查找包含uu的行 n 查找下一行 shift+n 查找上一行 ctrl+f (forward)下一页 ctrl+b (back)上一页
显示文件内容 cat file cat -n file #显示行号 避免对大文件使用cat
简易的文件查看器 让画面在显示满一页时暂停,此时可按空格健继续显示下一个画面,或按Q键停止显示。 more file 或者使用管道,使用管道功能不全 cat a.txt |more more a.txt “空格”下一页 “回车”下一行 “b” 前一页 “/patten”查找
简易的文件查看器 less命令的用法与more命令类似,也可以用来浏览超过一页的文件。所不同的是less命令除了可以按空格键向下显示文件外,还可以利用上下键来卷动文件。当要结束浏览时,只要在less命令的提示符“: ”下按Q键即可。
显示文件头部 head file 默认显示10行 head -5 file 显示前5行
显示文件尾部 tail file 默认显示最后10行 tail -5 file 显示后5行 tail -f file 实时显示文件尾部(很重要的命令)
echo 123 #回显 echo aaa>>a.txt #追加 echo aaa>a.txt #覆盖
文本排序命令 sort -n file 以数字方式排序 sort -r file 倒序 sort -u file 剔重 sort -rn file #ASCII码方式倒序 sort命令多和管道配合使用 如 :du -k *|sort -rn #文件大小倒序排(很重要),看哪个文件占的多
打印匹配的行,grep经常和管道配合使用 grep “正则表达式” file (注意,用好grep的前提是熟悉linux下的正则) grep 3 a.txt #a.txt文件中包含3的行都打印出来 grep 3 a.txt |wc -l #a.txt文件中包含3的行都有多少行 grep -n 3 a.txt #包含3的行号和行给打出来 grep -v 3 a.txt #不包含3的行显示出来 grep 89$ a.txt #结尾为89的行显示出来 grep ^98 a.txt #开头为98的行显示出来 grep -n aa * #当前目录下所有包含aa的行显示出来,打印出行号
在文件系统中查找文件 find命令很复杂,甚至可以称得上一门脚本语言,这里只介绍几种常用的命令。 find /path/to -name “test*” 按照命名规则查找 find /path/to -type f 按照文件类型查找 find /path/to -ctime -1 查找一天以内的文件和目录 find /path/to -cmin +1440 查找1440分钟以前的文件和目录 以上四种查找较为常见,可以组合使用。 另外,可以在查找后使用 -exec 执行后续操作 find /path/to -ctime +30 -exec rm -rf {} \; 删除30天前的文件。
打包,tar很强大,这里只介绍打包和解包 tar -zcvf file.tar.gz a.txt b.txt 压缩文件(把a.txt和b.txt压缩到file.tar.gz中) tar -zxvf file.tar.gz 解压缩 tar -zxvf file.tar.gz -C test/ 解压缩到指定目录 -z参数表示是否将文件gzip压缩
kill 10170 #本身和子进程都杀了 kill -9 10170 #只杀进程本身
压缩 gzip file zcat file.gz #查看gzip文件 gunzip file.gz #解压缩 多用于日志的压缩
添加用户 useradd username
修改密码命令 passwd [username] passwd 为当前用户修改密码 passwd username 为其他用户修改密码(通常是root操作)
以另外一个用户身份启动新的shell(切换用户) su [option] [username] su 切换到root,但是不使用root环境变量 su - 切换到root,使用root环境变量 注意,一般推荐加上“-”
查看当前使用的用户名称
查看登录时的用户
查看当前所有登录用户
查看用户登录历史 注意,如果黑客攻击,一般会修改该文件
改变文件属组 冒号前面为所有者,冒号后面为群组 chown zhang:zhang file #改变文件 chown -R zhang:group dir #改变vi目录
修改文件的读写属性 chmod 755 file chmod -R 644 dir 0-无权限(-);1-可执行(x);2-可读(r);4-可写(w) 第一列代表所属用户权限,第二列代表所属组权限,第三列代表其他用户权限
显示磁盘空间使用情况 df -h #到G自动显示G,到M自动显示M df -m #显示M df #等同于df -k
du -sh #当前目录占用的空间 du -sh * #当前目录下所有的文件占用的空间 du -sk * |sort -nr #显示前10个比较大的文件
查看内存使用情况 free #K显示 free -m #兆显示 free -g #G显示 以下:一共28M,使用2M,剩余26M
显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等 第一行,任务队列信息 系统时间、系统已运行时间、3个用户登录系统、load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况 第二行,Tasks — 任务(进程) 89个进程,其中运行中的有1个,88个休眠
第三行,cpu状态信息
us #用户占用的CPU百分比
sy #系统占用的CPU百分比
id #空闲CPU百分比
wa #CPU等待IO所用的时间,20%系统会很慢,30%可能没法操作了,长时间超过50%请检查硬盘设备,肯定出问题了
第四行,内存状态
物理内存总量、已使用内存总量、空闲内存总量、缓存
备注:
第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached。 对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
第七行以下:各进程(任务)的状态监控,项目列信息说明如下:
PID — 进程id USER — 进程所有者 PR — 进程优先级 NI — nice值。负值表示高优先级,正值表示低优先级 VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA SHR — 共享内存大小,单位kb S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 %CPU — 上次更新到现在的CPU时间占用百分比 %MEM — 进程使用的物理内存百分比 TIME+ — 进程使用的CPU时间总计,单位1/100秒 COMMAND — 进程名称(命令名/命令行) F 、f、 P、 p用来增加或减少显示项,以及显示顺序
显示当前运行进程 ps -ef
ifconfig #查看机器IP,网卡等 这里只做显示网卡信息使用,建议不要使用ifconfig修改网卡参数
查看网络信息 netstat -lnp 监听端口情况 netstat -anp 所有端口情况
打印系统信息 uname -a
查看修改系统时间 date date -s 19:00:00
重启
关机命令 shutdown -k now 通知所有终端,现在要关机,但是实际上不关机 shutdown -h now 通知多有终端,现在要关机,实际上确实关了 shutdown -k 5 通知所有终端,5分钟后要关机,但是实际上不关机 shutdown -h 5通知所有终端,5分钟后要关机,实际上确实要关机了
需要上传或者下载,需要使用rz和sz命令。如果linux上没有这两个命令工具,则需要先安装。可以使用yum安装。运行命令yum install lrzsz rz命令上传本地的文件到linux平台 需要下载linux上的文件,使用sz命令,如:sz install.log 需要设置上传和下载的默认目录,点击SecureCRT的菜单栏中的 选项=》会话选项。打开会话选项对话框,点击分类中的 终端=》X/Y/Zmodem。