使用man,info来了解命令使用
1.1 文件管理
ls
- ls -a 可显示当前目录下包含隐藏文件的所有文件
- ls -l 可看到文件更多的信息,包含:所有权限-文件所有者-文件所属组-文件或文件夹的大小-文件的最后修改时间-文件名
- ls -lh 和ls -l相似,但对显示文件或文件夹的大小更加友好(以k为单位)
- ls -lsrth 按修改时间进行排序显示当前目录下的文件
cd
- cd进入指定目录,pwd显示当前目录路径
- cd - 回到上一次的目录
cp
- cp {被复制的文件} {复制的文件}
- cp -r {被复制文件夹} {复制的文件夹}
rm -rv 可提示具体删除哪些文件
ln (link,链接)链接分为硬链接(只能对文件使用,-f)和软连接(-s)
df
- df查看电脑分区的总大小,已使用大小,使用比例
- df -h 对显示的分区信息更加友好
对于使用比例偏大的分区,我们要看目录的占用比例,可以使用du命令
find
- find 按时间/类型/名称等查找文件
- find . -name “*.xml” 查找当前目录(.)下后缀名为xml的文件
- find logs/ -mtime +3 -type f 查找logs目录下修改时间为3天以前的文件
which 查找系统PATH目录下的可执行文件
whereis 查找二进制(命令)、源文件、man文件,比which查找范围更广
1.2 权限管理
1.2.1 查看权限
使用ls -l 可查看文件或文件夹的权限,如下:
其中第一列就是文件的权限:
- 权限的最后三个字母表示所有用户对该文件的权限,分别为“r”读权限,“w”写权限,“x”可执行权限,“-”代表该文件无相应权限,比如文件count.txt对所有用户只有读权限而没有写和可执行权限;
- 再往前三个字母表示文件所属的组(group)下的所有用户对该文件的权限,字母顺序所代表的意思如上,比如文件夹src所属的staff组的所有用户对src文件夹有读和可执行权限,而无写权限;
- 再往前三个字母表示文件的所有者对该文件的权限,字母顺序所代表的意思如上,值得注意的是如果是文件夹,那么权限会多一位“d”,表示这是个文件夹,同时对于文件夹,“x”表示的不是可执行的意思,而是表示可以使用cd进入文件夹或使用ls来列出其中的文件。
也可以使用数字来表示权限:
r=4;w=2;x=1;rwx=(4+2+1=7);r-x=5;r- -=4
1.2.2 修改权限
chown = change owner
chown {-R} owner1:group1 {文件a} //将文件a的所属用户以及组分别修改为owner1和group1;如果加了-R,表示修改的是文件夹的权限。
chgrp = change group
chmod = change mode
chmod {-R} 750 {文件a} //三个数字表示将文件a的所有者权限、所属组下所有用户、系统所有用户分别修改为可读可写可执行(rwx)、可读可执行(r-x)、无任何权限。
1.2.3 切换用户
su = switch user,切换用户,默认是root,不建议使用,一般使用sudo,默认也是root,sudo -u {user1} {command1} 表示使用user1用户的权限来执行command1命令
1.3 文本操作
- cat {文件名}:输出指定文件所有内容;
- head -{n} {文件名}:文件较大时,可查看文件的前n行,默认输出前十行;
- tail -{n} {文件名}:与head相反,看的是文件后n行,如果n为“f”,则会不断刷新文件,将新写入的内容输出;
- more和less:可显示文件内容超过一屏的内容,可翻页,查找,跳转等,一般看大文件时使用more或less;
- grep {- -color=auto} {关键字或正则表达式} {文件名}:查看文件的指定关键字内容,color表示对关键字进行着色,是的查找内容更加显眼;
- sort {-r/n/k} {文件名}: 对文件内容按字符串进行排序,默认升序,r表示降序,k指定列排序,n表示按数字进行排序;
- uniq {-c} {文件名}:去重,c表示不仅输出行,还输出行出现的次数,uniq通常和sort配合使用,因为uniq只能对相邻的行进行去重,即如果两个相同的行不相邻,那么uniq无法对这两个相同行进行去重;
- wc {-l/c} {文件名}:统计文件中行数、单词数和字节数,-l只显示行数,-c只显示字节数;
- vim:修改文件。
1.4 打包与压缩
- tar -zcvf {压缩后的包名} {待压缩的文件夹}:z表示gzip压缩,一般格式为xxx.tar.gz或xx.tgz;c表示create,新建一个压缩文档,即打包;v表示输出中间信息;f表示使用文档名,在f之后要立即接文档名,不要再加其他参数;
- tar -tvf {压缩文件名}:查看压缩文件内容,并不解压;
-
tar -xzf {压缩文件名}:解压
- gz的压缩可以将大小压缩至原来的三分之一以下,可以使用zcat/zgrep/zmore/zless来查看压缩文件内容。
curl
wget:通常使用以下载文件,其他以curl代替即可
3 网络常用工具命令ping:检测网络连通性,检测服务器可访问性,ping是基于ICMP协议的,属于网络层(ip层),不属于TCP/UDP层,故没有端口号的概念。
- ping -c 3 -w 1 www.baidu.com:c表示ping的次数,w表示每次ping的超时时间。
hostname:获取本地主机名;
ifconfig:查看本地ip;
host {ip地址}:获取DNS解析,得到ip地址对应的主机名;
host {主机名}:获取DNS逆解析,得到主机名对应的ip地址;
nc:sorcket开发中网络发包工具
- nc {-t/u/l}:t表示发送tcp数据包,u表示发送udp数据包,l可以监听某个ip的端口;
使用nc来实现一个简单的聊天工具:
- nc -l 127.0.0.1 6666 //监听127.0.0.1的6666端口
- nc -t 127.0.0.1 6666//向127.0.0.1的6666端口发送tcp数据
telnet:远程登录和tcp连接测试,同样我们可以使用telnet 127.0.0.1 6666给127.0.0.1的6666端口发送tcp数据。
netstat:查看网络端口使用情况
- netstat -an // a表示打印所有的sorcket信息,n表示以ip的形式而不是主机名的形式来显示。
tcpdump:网络抓包工具
- tcpdump host 10.86.42.63 and tcp and port 2181 -w ./temp.pcap //抓取主机ip地址为10.86.42.63,端口号为2181,使用tcp传输的数据包,并记录到本地temp.pcap文件中
ssh:安全远程登录
scp:远程拷贝
- scp ./xxx user@host:path //将本地的文件复制到user@host机器上的path
- scp user@host:path/xxx ./ //将user@host机器上的path/xxx文件复制到本地
ps -ef //查看进程信息
UID PID PPID C STIME TTY TIME CMD
- UID:启动该进程的用户id
- PID:进程id
- PPID:启动该进程的进程id
- C:该进程的CPU占用率
- STIME:开始时间
- TTY:运行的虚拟终端
- TIME:从启动以来的占用CPU的时间
- CMD:启动命令
ps -Lf pid //查看指定pid进程的线程信息
相比进程信息多了三个信息:
- LWP:线程id
- NLWP:进程有多少个线程
- STAT:该线程状态。
free 查看内存使用信息
- free -m 以M为单位
- free -h 智能加单位
top 查看cpu使用率,内存信息,进程情况,cpu load等重要信息
kill 发用信号给进程,并不只是杀进程
- kill -9 pid 强制终止,杀死进程
- kill -l 中断、正常退出、暂停、继续
共同学习,写下你的评论
评论加载中...
作者其他优质文章