常见Linux操作:

Linux命令是Linux操作系统中与系统交互的指令,种类繁多。以下是一些最常用的Linux命令,它们涵盖了文件和目录操作、系统信息查看、进程管理、网络操作以及压缩解压等方面:

Linux命令是Linux操作系统中与系统交互的指令,种类繁多。以下是一些最常用的Linux命令,它们涵盖了文件和目录操作、系统信息查看、进程管理、网络操作以及压缩解压等方面:


文件和目录操作

  • source: source命令是一个Linux/shell命令,用于在当前 shell 环境中执行指定文件中的命令。与直接运行脚本不同,source 命令不会创建新的子 shell,而是在当前 shell 中直接执行文件内容。
  • chown: chown命令是一个Linux命令,用来更改文件和目录的所有权。
    • 语法:chown [options] [new_owner]/[:[new_group]] file_name
    • 其中,new_owner表示新的所有者,new_group表示新的所属组,而file_name则表示要更改权限的文件或目录名称。
    • chown -R: -R表示对文件夹内全部内容应用相同规则
  • ls: 列出目录内容。
    • ls -l: 详细列表模式,显示文件权限、所有者、大小、修改时间等。
    • ls -a: 显示所有文件,包括隐藏文件(以 . 开头的文件)。
  • cd: 改变当前工作目录。
    • cd /path/to/directory: 切换到指定路径。
    • cd ..: 返回上一级目录。
    • cd ~: 切换到用户主目录。
  • pwd: 显示当前工作目录的完整路径。
  • mkdir: 创建新目录。
    • mkdir my_new_directory: 创建名为 my_new_directory 的目录。
    • mkdir -p /path/to/new/dirs: 递归创建目录,如果上级目录不存在也会一并创建。
  • rmdir: 删除空目录。
    • rmdir empty_directory: 删除名为 empty_directory 的空目录。
  • touch: 创建空文件或更新文件的时间戳。
    • touch new_file.txt: 创建一个名为 new_file.txt 的空文件。
  • cp: 复制文件或目录。
    • cp source.txt destination.txt: 复制文件。
    • cp -r source_dir destination_dir: 递归复制目录及其内容。
  • mv: 移动或重命名文件或目录。
    • mv old_name.txt new_name.txt: 重命名文件。
    • mv file.txt /path/to/new/location: 移动文件到新位置。
  • rm: 删除文件或目录。
    • rm my_file.txt: 删除文件。
    • rm -r my_directory: 递归删除目录及其内容。
    • rm -f my_file.txt: 强制删除文件,不提示确认。
    • rm -rf my_directory: 强制递归删除目录及其内容(慎用,不可恢复!)。
  • cat: 查看文件内容或连接文件。
    • cat file.txt: 显示文件所有内容。
  • more / less: 分页查看文件内容。
    • more large_file.txt: 向前翻页。
    • less large_file.txt: 可以向前和向后翻页,功能更强大。
  • head: 查看文件开头部分(默认前10行)。
    • head -n 5 file.txt: 查看文件前5行。
  • tail: 查看文件末尾部分(默认后10行)。
    • tail -n 5 file.txt: 查看文件后5行。
    • tail -f log_file.log: 实时追踪文件末尾新增内容,常用于查看日志。
  • find: 在文件系统中搜索文件。
    • find . -name "*.txt": 在当前目录及其子目录中查找所有 .txt 文件。
  • grep: 在文件中搜索指定模式的文本。
    • grep "keyword" file.txt: 在 file.txt 中查找包含 “keyword” 的行。
    • grep -r "keyword" /path/to/dir: 递归地在目录中查找包含 “keyword” 的文件。

系统信息和管理

  • ps: 显示当前运行的进程。
    • ps aux: 显示所有用户的进程,包括没有控制终端的进程。
  • kill: 终止进程。
    • kill PID: 终止指定PID的进程。
    • kill -9 PID: 强制终止指定PID的进程。
  • hostname: 显示或设置系统主机名。

网络操作

  • ping: 测试网络连接。
    • ping google.com: 测试与 Google 的连通性。
  • ip addr (或 ifconfig - 较旧): 显示或配置网络接口信息。
    • ip addr show: 显示所有网络接口的IP地址等信息。
  • netstat: 显示网络连接、路由表、接口统计等。
    • netstat -tuln: 显示所有监听的 TCP/UDP 端口。
  • ssh: 远程登录到另一台 Linux 主机。
    • ssh username@remote_host: 通过 SSH 连接到远程主机。
  • scp: 在本地和远程主机之间安全复制文件。
    • scp local_file.txt username@remote_host:/path/to/destination: 复制本地文件到远程。

压缩和解压

  • tar: 打包和解包文件。
    • tar -cvf archive.tar /path/to/files: 创建 .tar 包。
    • tar -xvf archive.tar: 解压 .tar 包。
    • tar -czvf archive.tar.gz /path/to/files: 创建 .tar.gz 压缩包。
    • tar -xzvf archive.tar.gz: 解压 .tar.gz 压缩包。
  • gzip / gunzip: 压缩和解压 .gz 文件。
    • gzip file.txt: 压缩文件为 file.txt.gz
    • gunzip file.txt.gz: 解压 .gz 文件。
  • zip / unzip: 压缩和解压 .zip 文件。
    • zip archive.zip files: 创建 .zip 压缩包。
    • unzip archive.zip: 解压 .zip 压缩包。

这只是Linux命令的冰山一角,每个命令通常还有很多选项和用法。掌握这些常用命令,将大大提高您在Linux环境下的工作效率。如果您对某个特定类别的命令感兴趣,或者想了解某个命令的更多细节,请随时告诉我!

深入Linux文件系统:

Linux文件系统概述

Linux文件系统都是从起始的一个点开始的,可以表示为/…其他所有的文件夹都是在这个起始点的基础上进行的。
常见的顶层目录可以分为十个类别:

  1. System Binaries:有核心命令的系统二进制文件;
  2. Boot&kernel-related:启动内核相关目录帮助系统启动
  3. Configuration Files:定义Linux操作的文件:
  4. User-related Fils:用户相关的文件、文件夹
  5. Shared libriries:支持核心程序的库
  6. Mount Points&Media:挂载点和媒体设备信息
  7. System Info:系统和运行时反应的信息
  8. Multi-user resources:多用户资源用于日志和软件
  9. temporary files:临时文件
  10. Option Software:可选软件安装文件夹

Bin- Binary文件夹:

bin是最重要的一个系统目录,包含了系统最重要的一些命令,以及命令行工具,例如ls ps mv cat这些命令都存放在这里。
不同于其他文件,bin文件的命令开机就始终可用,即使操作系统的其他文件还没有加载完,对日常使用和故障解决很重要。
/sbin目录:sbin顾名思义时System binary文件的缩写,代表系统二进制文件。如果说bin包含了大部分普通用户使用的指令,那么sbin就是包含了系统级别的指令,通常又root用户使用。用于管理和维护系统,比如检查磁盘和系统等功能。

/lib文件夹

接着我们看/lib文件夹,lib就是library的缩写,中文可以解释成库的意思, 包含了/bin和/sbib中的命令需要依赖的大部分库文件。比如window依赖于dll文件一样。
这些库提供一些常用功能,比如读取文件,处理输入输出等,这样一来命令就不用包括自己所有需要的代码。

/usr文件夹

别被名字误导,虽然是usr文件夹,但这里并不包含个人用户的文件,他是Unix System Resource的缩写,是unix系统资源文件, 并且包含了大部分用户空间应用程序,库和文档。
你会在这里发现应用程序映射了几个文件夹,比如/usr/bin、/usr/sbin等文件,这是用户存储非必要软件的地方,用于补充软件需要的一些非系统级的命令,

/boot目录

这个目录包含了所以系统启动时需要的文件,比如Linux kernel的初始化磁盘功能,以及引导加载程序文件等

/dev目录

dev- Device,这个目录不存储普通文件,只存放设备文件,在Linux中所有东西都被视为文件,因此设备也是在此处向系统展示。
比如说/dev/sda就可能代表了某个硬盘设备,因此不管是键盘、鼠标、屏幕等设备都可以在这里看到,这些文件是动态管理的,会随着硬件设备的插拔而变化。

/etc目录

etc:Editable-Text-Files,这里是系统配置文件的中心位置,包括从网络设置到用户设置,例如/etc/password保存了用户的密码,儿/ect/fstab定义了驱动器在启动时的挂载方式。大多是纯文本方式,方便管理员查看等。

/home目录

这里终于到了普通用户的个人空间部分,每个用户在这里都有自己的文件夹,用于存储个人文件,比如~/Documents ~/Downloads等。