[created_at:2020-05-22]
Linux 下有非常多的命令,通过这些命令在 Shell 环境下与机器进行交互调度资源,Linux可操作的资源通常分为3类:文件、网络、进程
Linux操作文件目录常用命令
- ls:列出目录
cd:切换目录
pwd:显示当前的目录
mkdir:创建一个新的目录
rmdir:删除一个空的目录
cp:复制文件或目录
rm:移除文件或目录
mv:移动文件与目录,或修改文件与目录的名称
Linux文件属性
ll:列出所有文件和目录的详细属性
在Linux系统执行的
[root@iZmZ learndir]# ll
total 12
-rwxr--r-- 1 root root 26 May 22 22:19 1.sh
drwxr-xr-x 2 root root 4096 May 22 22:30 a
在Windows执行的
wzz@LAPGW64 /f/learbash/tmp
$ ll
total 0
-rw-r--r-- 1 wzz 197609 4 5月 22 08:23 1.txt
drwxr-xr-x 1 wzz 197609 0 5月 22 21:22 test/
| 权限属性 | 连接 | 所有者 | 用户组 | 大小 | 修改日期 | 文件或目录名 |
|---|---|---|---|---|---|---|
| -rwxr--r-- | 1 | root | root | 26 | May 22 22:19 | 1.sh |
| drwxr-xr-x | 2 | root | root | 4096 | May 22 22:30 | a |
权限属性:
| 文件类型 | 所有者 | 用户组 | 其他人 |
|---|---|---|---|
| - | rw- | r-- | r-- |
| d | rwx | r-x | r-x |
文件类型:
d 目录;- 文件;l 连接文件;b 设备文件;c 串行端口设备
修改文件属性
- rwx:读/写/执行;对应值:4/2/1
chmod命令,如chmod 777 1.txt 修改1.txt为所有人都有所有权限
Linux文件操作
- 阅读:
cat:显示所有内容,一页很长
more:翻页阅读,但不够灵活
less:可以实现交互式阅读
- 编辑:
vim- 键入i切换为输入模式
退出输入模式:ESC键
键入:切换为底线命令模式
q:退出
w:保存
wq:保存并退出
- 键入i切换为输入模式
Linux进程
ps 命令查看当前进程
[root@iZm5Z learndir]# ps
PID TTY TIME CMD
23195 pts/0 00:00:00 bash
23247 pts/0 00:00:00 ps
top命令动态查看整个机器的状态
[root@iZmZ learndir]# top
top - 22:59:00 up 100 days, 12:22, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 67 total, 1 running, 66 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1882232 total, 1035684 free, 86152 used, 760396 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 1625056 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3600 root 10 -10 124208 12668 9724 S 1.0 0.7 487:38.83 AliYunDun
1 root 20 0 43528 3804 2576 S 0.0 0.2 1:50.28 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.23 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:13.09 ksoftirqd/0
实时命令中断运行:CTRL+c
Linux网络
有的时候进程之间需要通信,这个时候就会开启一个 socket,socket 就是对外建立连接的一个窗口,然后借助 TCP 协议进行通信,但进行通信之前首先需要进程开启一个端口。如何查看这些端口的情况呢?
netstat -tlnp 命令查看 TCP 协议进程端口
- -t 指的是 TCP 协议
-l (listen)监听端口
-n 指不需要解析远程服务器的名字
-p 指打印进程
[root@iZmZ learndir]# netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1016/sshd
netstat -tnp:本地机器上有多少个链接正在与外部进行通信
[root@iZm5e43t3oxhfbtpgsitwcZ learndir]# netstat -tnp
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 64 172.31.0.0:22 124.65.0.0:22824 ESTABLISHED 23193/sshd: root@pt
tcp 0 0 172.31.0.0:46944 100.100.0.0:80 ESTABLISHED 3600/AliYunDun