当前位置: 技术文章>> 精通 Linux 的常用命令有哪些需要熟练掌握?

文章标题:精通 Linux 的常用命令有哪些需要熟练掌握?
  • 文章分类: 后端
  • 10031 阅读
在Linux系统中,熟练掌握常用命令是提升工作效率和解决问题的关键。以下是一些高级程序员应当精通的Linux常用命令,它们覆盖了文件管理、系统监控、网络管理、文本处理等多个方面。这些命令不仅在日常工作中频繁使用,也是深入理解Linux系统架构和操作原理的基础。 ### 一、文件与目录管理 #### 1. ls - **功能**:列出目录内容。 - **常用选项**: - `-l`:以列表形式显示详细信息。 - `-a`:显示所有文件,包括隐藏文件(以`.`开头的文件)。 - `-R`:递归列出所有子目录的内容。 - `ls -lh`:结合`-l`和`-h`选项,以易于阅读的格式显示文件大小(K、M、G)。 #### 2. cd - **功能**:切换当前工作目录。 - **常用示例**: - `cd /path/to/directory`:切换到指定目录。 - `cd ..`:返回上一级目录。 - `cd ~`:进入用户的主目录。 #### 3. pwd - **功能**:显示当前工作目录的完整路径。 #### 4. mkdir - **功能**:创建目录。 - **常用选项**: - `-p`:递归创建多级目录。 - `mkdir -p /dir1/dir2/dir3`:如果`dir1`和`dir2`不存在,则一并创建。 #### 5. rmdir - **功能**:删除空目录。 #### 6. touch - **功能**:创建空文件或更新文件的访问和修改时间。 - **示例**:`touch newfile.txt` #### 7. cp - **功能**:复制文件或目录。 - **常用选项**: - `-r`:递归复制目录。 - `cp file1.txt file2.txt`:复制文件。 - `cp -r dir1/ dir2/`:复制目录。 #### 8. mv - **功能**:移动或重命名文件/目录。 - **示例**: - `mv oldname.txt newname.txt`:重命名文件。 - `mv filename dir1/`:将文件移动到目录`dir1`中。 #### 9. rm - **功能**:删除文件或目录。 - **常用选项**: - `-r`:递归删除目录及其内容。 - `-f`:强制删除,不提示确认。 - `rm -rf /dir/filename`:递归强制删除文件或目录。 #### 10. tar - **功能**:打包和压缩文件。 - **常用选项**: - `-c`:创建归档文件。 - `-x`:从归档文件中提取文件。 - `-v`:显示过程详情。 - `-f`:指定归档文件名。 - `-z`:通过gzip压缩或解压。 - `-j`:通过bzip2压缩或解压。 - `-J`:通过xz压缩或解压。 - `tar -czvf archive.tar.gz /dir/`:将`/dir/`目录压缩成`archive.tar.gz`。 - `tar -xzvf archive.tar.gz -C /tmp`:将压缩包解压到`/tmp`目录。 ### 二、文件权限与所有权 #### 1. chmod - **功能**:更改文件或目录的权限。 - **常用选项**: - `+x`:为文件或目录添加执行权限。 - `-x`:移除执行权限。 - `chmod +x file.txt` #### 2. chown - **功能**:更改文件或目录的所有者。 - **示例**:`chown username file.txt` #### 3. chgrp - **功能**:更改文件或目录的所属组。 - **示例**:`chgrp groupname file.txt` ### 三、文本处理与搜索 #### 1. grep - **功能**:在文件中搜索匹配的行。 - **常用选项**: - `-i`:忽略大小写。 - `-v`:反向选择,显示不匹配的行。 - `grep "pattern" file.txt` #### 2. sed - **功能**:流编辑器,用于对文本进行过滤和转换。 - **示例**:`sed 's/old/new/g' file.txt` #### 3. awk - **功能**:强大的文本分析工具,支持模式扫描和处理语言。 - **示例**:`awk '{print $2}' file.txt`:打印文件的第二列。 #### 4. cat - **功能**:连接并打印文件内容。 - **示例**:`cat file.txt` #### 5. head - **功能**:显示文件的开头部分。 - **常用选项**: - `-n`:指定显示的行数。 - `head -n 10 file.txt` #### 6. tail - **功能**:显示文件的末尾部分。 - **常用选项**: - `-f`:循环读取文件内容(常用于查看日志)。 - `tail -f log.txt` ### 四、系统监控与管理 #### 1. top - **功能**:实时显示系统中各个进程的资源占用情况。 #### 2. ps - **功能**:显示当前进程的快照。 - **常用选项**: - `aux`:显示所有用户的进程信息。 - `ps aux` #### 3. systemctl - **功能**:系统和服务管理器,用于控制systemd系统和服务。 - **示例**: - `systemctl start nginx`:启动nginx服务。 - `systemctl stop nginx`:停止nginx服务。 #### 4. df - **功能**:显示磁盘空间的使用情况。 - **常用选项**: - `-h`:以易于阅读的格式显示信息。 - `df -h` #### 5. du - **功能**:显示目录或文件的磁盘使用情况。 - **常用选项**: - `-sh`:显示总计,并以易读格式输出。 - `du -sh /dir` #### 6. free - **功能**:显示系统的内存使用情况。 - **常用选项**: - `-h`:以易读格式显示信息。 - `free -h` ### 五、网络管理 #### 1. ping - **功能**:测试网络连接。 - **示例**:`ping google.com` #### 2. ifconfig - **功能**:配置和显示Linux内核中网络接口的网络参数。 - **注意**:在一些现代Linux发行版中,`ifconfig`可能被`ip`命令取代。 #### 3. netstat - **功能**:显示网络连接、路由表、接口统计等信息。 - **常用选项**: - `-an`:显示所有连接和监听端口。 - `netstat -an` #### 4. ssh - **功能**:安全远程登录。 - **示例**:`ssh username@hostname` #### 5. scp - **功能**:安全复制文件。 - **示例**:`scp file.txt username@hostname:/home/username` ### 六、其他常用命令 #### 1. find - **功能**:在目录树中搜索文件,并可以对搜索结果执行操作。 - **常用选项**: - `-name`:按文件名搜索。 - `-type`:按文件类型搜索。 - `-user`:按文件所有者搜索。 - `find / -name "*.txt"`:在根目录下搜索所有`.txt`文件。 #### 2. locate - **功能**:通过预先构建的数据库快速查找文件。 - **注意**:使用前可能需要运行`updatedb`命令更新数据库。 #### 3. which - **功能**:在PATH变量指定的目录中查找可执行文件。 - **示例**:`which ls` #### 4. whereis - **功能**:定位二进制程序、源代码和手册页的位置。 - **示例**:`whereis python` #### 5. history - **功能**:显示命令历史。 - **常用选项**: - `-c`:清除当前shell会话的命令历史。 ### 七、进阶使用技巧 - **管道(|)**:将前一个命令的输出作为后一个命令的输入。 - 示例:`ls -l | grep ".txt"` - **重定向(>、>>、<)**:改变命令的标准输入、输出和错误输出。 - 示例:`echo "Hello, World!" > file.txt`(覆盖文件内容) - `echo "Another line" >> file.txt`(追加到文件) - **后台运行**:在命令
推荐文章