为了账号安全,请及时绑定邮箱和手机立即绑定

Linux基础与应用

标签:
Linux
1、Linux基础

使用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来查看压缩文件内容。
2 http请求与传输

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文件中
4 远程命令

ssh:安全远程登录

scp:远程拷贝

  • scp ./xxx user@host:path //将本地的文件复制到user@host机器上的path
  • scp user@host:path/xxx ./ //将user@host机器上的path/xxx文件复制到本地
5 进程与系统

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 中断、正常退出、暂停、继续
点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
算法工程师
手记
粉丝
1532
获赞与收藏
2735

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消