文件
/
为根目录,绝对路径即为从根目录开始到文件所在地址的路径。.
代表当前目录,..
代表上一级目录,相对路径即为从当前工作路径开始到文件所在地的目录,pwd
查看工作目录 。cd
指令切换工作目录,可用绝对或者相对路径,不带参数则切换到家目录,一般是/home/{username}
或者~
, cd ..
会回退上一级目录。
Linux 常见的文件类型有以下7种,ls -F
可以查看当前目录下的文件和类型
- 普通文件(如一个txt)
- 目录文件 (结尾带
/
) - 可执行文件 (结尾带
*
) - 管道文件 (结尾带
|
) - Socket文件 (结尾带
=
) - 软链接文件(相当于指向另一个文件所在路径的符号)(结尾带
@
) - 硬链接文件(相当于指向另一个文件的指针)
文件的增删改查:mkdir
,touch
,rm
,rm -r
(递归), rm -rf
(强制,只读文件也会被删而不提示), nano
, vi
, cat
, more
,less
,head
,tail
,grep
,find
cat
指令将文件连接到标准输出流并打印到屏幕上。❗ ❗ ❗ 线上不要 cat
大文件,不仅占用机器资源(文件拷贝到标准输出流),而且占内存(可能导致其他应用内存不足); tail -n 1000
去查看日志最后1000行的内容,找到服务暂停原因。
进程
什么是进程?
应用的可执行文件放在操作系统的文件系统里,执行这个可执行文件的时候,操作系统会在内存里形成这个应用的副本,这个副本就是进程。ps -ef
,ps aux
查看进程,p - process, s - snapshot。top
每个进程拥有自己的标准输入流,标准输出流,标准错误流。
- 标准输入,用0表示,可以作为进程执行上下文
- 标准输出,用1表示,写入的结果会被打印到屏幕上
- 异常信息会被记录到标准错误流,用2表示
重定向,如ls -l > out
本来打印到屏幕上的信息就被重定向到out文件中。>
为覆盖重定向,>>
为追加重定向
管道
管道在进程间传递数据,具有FIFO。
- 匿名管道 (Unnamed Pipeline)只是一个存储节点
例子:
ls | sort -r
,匿名管道将ls
的结果传递给sort
去排序
sort a.txt | uniq
匿名管道将排序好的结果传递给uniq
进行相邻行去重
中间结果也可以使用tee
指令保存
xargs
指从标准数据流中构造并执行一行行的指令, 从标准输入中获取字符串,利用空白换行符等构造指令,再一行行执行。
如,希望把当前目录下所有文件的文件名加上前缀’prefix_‘ : ls | xargs -I GG mv GG prefix_GG
, -I
参数查找替换符。
- 命名管道 (Named Pipeline)是一个文件,有自己的路径
mkfifo
指令可以创建一个命名管道。
权限
chmod
修改文件权限
网络
ssh username@ip
远程操作指令,允许远程登录到目标计算机进行远程操作和管理。scp file username@ip:path
远程传输文件。
ipconfig
,netstat
查看本地网络状态;netstat -t
查看tcp协议的网络情况。
网络测试:
ping
本机到某个网站的网络延迟
telnet
本机到某个IP+端口的网络是否通畅 e.g. telnet www.lagou.com 443
host
,dig
DNS查询 e.g. dig www.lagou.com
curl
, 支持很多协议包括LDAP, SMTP, FTP, HTTP等。