Linux一些常见的命令

1. 基础命令

1. ls: 列出目录内容。
   - 例如:`ls -l` 以长格式列出文件和目录。

2. cd: 切换工作目录。
   - 例如:`cd /home/user` 进入 /home/user 目录。

3. pwd: 显示当前工作目录的路径。

4. mkdir: 创建新目录。
   - 例如:`mkdir new_folder` 创建名为 new_folder 的目录。

5. rm: 删除文件或目录。
   - 例如:`rm file.txt` 删除文件 file.txt。
    rm -f file.txt 强制删除
    rm -R 目录名称   删除目录下所有文件

6. cp: 复制文件或目录。
   - 例如:`cp source.txt destination.txt` 复制 source.txt 到 destination.txt。

7. mv: 移动文件或目录,也可用于重命名。
   - 例如:`mv old_name new_name` 将 old_name 重命名为 new_name。

8. cat: 查看文件内容。
   - 例如:`cat file.txt` 显示 file.txt 的内容。

9. grep: 在文件中搜索指定内容。
   - 例如:`grep keyword file.txt` 在 file.txt 中搜索关键字。

10. chmod: 修改文件或目录的权限。
    - 例如:`chmod 755 file.sh` 将 file.sh 设置为可执行。

11. chown: 修改文件或目录的所有者。
    - 例如:`chown user:group file.txt` 将 file.txt 的所有者设置为 user,所属组设置为 group。

12. ps: 显示当前运行的进程。
    - 例如:`ps aux` 列出所有进程的详细信息。

13. kill: 终止进程。
    - 例如:`kill PID` 终止具有指定 PID 的进程。

14. df: 显示磁盘使用情况。
    - 例如:`df -h` 以人类可读的格式显示磁盘空间。

15. top: 实时监视系统性能和进程。
    - 例如:`top` 显示实时的系统状态和进程信息。

16. free: 显示内存使用情况。
    - 例如:`free -h` 以人类可读的格式显示内存情况。

17. ifconfig: 显示网络接口信息。
    - 例如:`ifconfig eth0` 显示 eth0 网络接口信息。

18. ping: 测试网络连接。
    - 例如:`ping google.com` 测试与 google.com 的连接。

19. ssh: 远程登录到其他计算机。
    - 例如:`ssh user@hostname` 登录到 hostname 上的用户 user。

20. sudo: 以超级用户权限执行命令。
    - 例如:`sudo apt-get update` 以管理员权限更新软件包。

2. top、free、ps区别

top: 动态获取当前有哪些进程及状态
ps: 展示进程的详细情况,例如内存大小等
free: free -h 获取当前内存占有及剩余情况

3. grep、awk、sed

// 查看文件内容
[w@w-MacBook-Pro temp % cat data.txt                      
Alice 25
Bob 30
Carol 28
David 22

// 搜索>=25或者等于30的人
[w@w-MacBook-Pro temp % grep ' [2-9][6-9]\|30' data.txt
Bob 30
Carol 28

// sed 's/旧字符/新字符/' data.txt
[w@w-MacBook-Pro temp % sed 's/Bob/Bobb/' data.txt     
Alice 25
Bobb 30
Carol 28
David 22

//' { sum += $2 } END { print sum / NR }': 
这是 awk 的脚本部分,它在文件的每一行执行 { sum += $2 } 操作,将每一行的第二个字段(年龄)
累加到变量 sum 中。然后,在文件处理结束时执行 END 部分,计算并打印平均值 sum / NR,
其中 NR 是已处理的行数(记录数)。

[w@w-MacBook-Pro temp % awk '{ sum += $2 } END { print sum / NR }' data.txt

21

3. 查看文本的方式及区别

cat file.txt
打印全部文本内容在显示屏

more file.txt
文本内容分页展示,空格键翻页

less file.txt
文本内容分页展示,上下翻页

head -n 5 file.txt
显示文件前5行,不加参数默认显示前10行

tail -n 5 file.txt
显示文件最后5行,不加参数默认显示最后10行

4. 文件查找

1. find /Users/wangxiaochun/work -name data.txt
find path -name filename

2. locate data.txt
直接查数据库搜索,使用前需要先更新数据库
sudo updatedb
locate filename

3. whereis data.txt

4. grep + find 组合   --查找含有“Bob”这个字段的文件,返回文件名
find /Users/w/work -type f -exec grep -l "Bob" {} \;
find /Users/w/work -type f -name data.txt -exec grep -l "Bob" {} \;
find /Users/w/work -type f -name "*.txt" -exec grep -l "Bob" {} \;

find /path/to/search -type f -newermt "start_date" ! -newermt "end_date" -exec grep -l "keyword" {} \;



说明:
find /home/user/documents -type f -exec grep -l "important" {} \;

find /home/user/documents: 在 /home/user/documents 文件夹中查找。
-type f: 限定查找的对象为文件。
-exec grep -l "important" {} \;: 对于每一个找到的文件,使用 grep 命令查找是否包含关键字 "important",并通过 -l 选项只返回文件名。
grep -n "str" /path/to/search
找出某目录下含有str的文件,并展示行数


-n:显示匹配的行及其行号。
-i:忽略大小写进行匹配。
-r:递归地搜索指定路径下的所有文件和子文件夹。
-l:仅显示匹配的文件名,而不显示匹配的行。
-c:仅显示匹配的行数,而不显示匹配的具体内容。
-v:反转匹配,显示不包含匹配内容的行。

5. 网络

ifconfig -eth0  查看ip信息
netstat 查看正在被监听的接口
`netstat` 是一个用于显示网络连接、路由表、网络接口统计等信息的命令。以下是 `netstat` 命令的一些常见用法:

1. **显示所有网络连接:**
   ```
   netstat -a
   ```

2. **显示监听端口:**
   ```
   netstat -tuln
   ```

3. **显示网络接口信息:**
   ```
   netstat -i
   ```

4. **显示路由表:**
   ```
   netstat -r
   ```

5. **显示网络连接状态:**
   ```
   netstat -an
   ```

6. **查看每个协议的统计信息:**
   ```
   netstat -s
   ```

7. **显示 PID 和程序名称:**
   ```
   netstat -p
   ```

8. **显示活动的 UNIX 域套接字:**
   ```
   netstat -x
   ```

9. **显示网络接口和路由信息:**
   ```
   netstat -ie
   ```

10. **显示网络接口组信息:**
    ```
    netstat -g
    ```

你可能感兴趣的:(linux,服务器,运维)