linux 系统学习笔记

linux 系统学习笔记,学习Linux系统的命令是一个循序渐进的过程,这里记录了一些常用命令和参数。包括文件和目录操作,文件内容查看和编辑,系统信息和管理。

文件和目录操作命令:

ls: 列出目录内容

  • 示例:ls -l(显示详细信息)、ls -a(显示隐藏文件)。

:::details 参数

  • -l: 以详细列表形式显示文件和目录的信息,包括权限、所有者、大小、日期等。

    • drwxr-xr-x 表示一个目录,-rw-r--r-- 表示一个普通文件。
  • -a: 显示所有文件和目录,包括隐藏文件(以.开头的文件和目录)。

  • -h: 人类可读的文件大小,例如显示为 KB、MB 等。

  • -t: 按修改时间排序显示文件和目录。
    :::

cd: 切换目录。

  • 示例:cd /path/to/directory

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

mkdir: 创建新目录。

  • 示例:mkdir new_directory

touch: 创建空文件。

  • 示例:touch new_file.txt

cp: 复制文件或目录。

  • 示例:cp file.txt /path/to/destination

mv: 移动文件或目录,也可用于重命名。

  • 示例:mv file.txt /path/to/destination、mv old_name new_name

rm: 删除文件或目录。

  • 示例:rm file.txt(删除文件)、rm -r directory(删除目录及其内容,慎用!)。

文件内容查看和编辑命令:

cat: 显示文件内容。

  • 示例:cat file.txt

more / less 分页查看文件内容。

  • 示例:more file.txtless file.txt

head / tail: 查看文件开头或结尾部分。

  • 示例:head file.txttail -n 10 file.txt(显示最后10行)。

nano / vim: 使用文本编辑器编辑文件。

  • 示例:nano file.txtvim file.txt

系统信息和管理命令:

uname: 显示系统信息。

  • 示例:uname -a

top: 实时显示系统资源使用情况。

ps: 显示进程信息。

  • 示例:ps aux

kill: 终止进程。

  • 示例:kill process_id

df: 显示磁盘空间使用情况。

  • 示例:df -h

du: 显示文件和目录的磁盘使用情况。

  • 示例:du -sh directory

chmod: 修改文件或目录的权限。

  • 示例:chmod 755 file.txtchmod +x script.sh

chown: 更改文件或目录的所有者。

  • 示例:chown user:group file.txt

dmesg | egrep -i -B100 ‘killed process’: 显示内核日志

磁盘和文件系统管理命令:

fdisk / parted: 磁盘分区管理工具。

  • 示例:fdisk /dev/sda

mkfs: 创建文件系统。

  • 示例:mkfs.ext4 /dev/sda1

mount / umount: 挂载和卸载文件系统。

  • 示例:mount /dev/sdb1 /mntumount /mnt

硬件信息和监控命令:

lshw / hwinfo: 显示硬件信息。

  • 示例:sudo lshw

iotop: 监控磁盘I/O使用情况。

  • 示例:sudo iotop

nvidia-smi: 显示NVIDIA GPU状态。

  • 示例:nvidia-smi

网络命令:

ping: 测试网络连接是否正常。

  • 示例:ping google.com

ifconfig / ip: 显示网络接口信息。

  • 示例:ifconfigip addr show

netstat: 显示网络统计信息。

  • 示例:netstat -tuln(显示开放的端口)。

ssh: 远程连接到其他计算机。

  • 示例:ssh user@hostname

scp: 在本地主机和远程主机之间复制文件。

  • 示例:scp file.txt user@remotehost:/path/to/destination

软件包管理命令(适用于基于包管理的发行版):

apt / apt-get: Debian/Ubuntu系列的包管理工具。

  • 示例:sudo apt-get install package_name

yum / dnf: Red Hat/CentOS系列的包管理工具。

  • 示例:sudo yum install package_name

pacman: Arch Linux系列的包管理工具。

  • 示例:sudo pacman -S package_name

用户和权限管理命令:

useradd / adduser: 添加新用户账号。

  • 示例:sudo adduser new_user

passwd: 更改用户密码。

  • 示例:passwd username

sudo: 以超级用户权限执行命令。

  • 示例:sudo command

压缩和解压命令:

tar: 创建和解压 tar 归档文件。

  • 示例:tar -cvf archive.tar filestar -xvf archive.tar

:::details 参数

  • -c: 创建归档文件。
  • -x: 解压缩归档文件。
  • -f file: 指定归档文件的名称。
  • -v: 显示操作的详细信息。
  • -z: 以 gzip 压缩或解压缩。
  • -j: 以 bzip2 压缩或解压缩。
  • -t: 查看归档文件中的内容。

在上面的示例中,显示了一些命令历史记录,每一行都包括一个序号和相应的命令。通过序号来重新执行之前执行过的命令,如 !5 将重新执行序号为 5 的命令。
:::

gzip / gunzip: 压缩和解压 .gz 文件。

  • 示例:gzip file.txtgunzip file.txt.gz

时间和日期命令:

date: 显示当前日期和时间。

  • 示例:date

cal: 显示日历。

  • 示例:cal

Shell脚本和编程命令:

bash: 运行Bash脚本。

  • 示例:bash script.sh

source / .: 在当前Shell环境中执行脚本。

  • 示例:. script.shsource script.sh

数据处理和文本处理命令:

grep: 在文件中搜索匹配的文本。

  • 示例:grep "pattern" file.txt

sed: 使用正则表达式编辑文本。

  • 示例:sed 's/old/new/' file.txt

awk: 处理文本数据流并生成报告。

  • 示例:awk '{print $1}' file.txt

进程管理命令:

bg / fg: 将进程放入后台 / 将进程带回前台。

jobs: 显示后台进程。

定时任务和后台任务管理命令:

cron / crontab: 设置定时任务。

  • 示例:crontab -e(编辑定时任务)。

at: 在指定时间运行一次性任务。

  • 示例:at now + 1 hour

screen / tmux: 创建会话以管理后台任务。

  • 示例:screen(启动会话)。

其他实用命令:

history: 显示最近执行过的命令历史。

  • 示例:history

:::details 参数

  • -c: 清空命令历史记录。
  • -a: 将当前会话的命令追加到历史记录中。
  • -d num: 删除历史记录中指定序号的命令。
1
2
3
4
5
6
ls
cd Documents
nano file.txt
gcc program.c -o program
./program
history

clear / Ctrl+L: 清屏。

echo: 打印文本到标准输出。

  • 示例:echo "Hello, World!"
1

monica-code-tools