linux 系统学习笔记
linux 系统学习笔记
sugarlinux 系统学习笔记,学习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.txt
、less file.txt
。
head / tail: 查看文件开头或结尾部分。
- 示例:
head file.txt
、tail -n 10 file.txt
(显示最后10行)。
nano / vim: 使用文本编辑器编辑文件。
- 示例:
nano file.txt
、vim file.txt
。
系统信息和管理命令:
uname: 显示系统信息。
- 示例:
uname -a
。
top: 实时显示系统资源使用情况。
ps: 显示进程信息。
- 示例:
ps aux
。
kill: 终止进程。
- 示例:
kill process_id
。
df: 显示磁盘空间使用情况。
- 示例:
df -h
。
du: 显示文件和目录的磁盘使用情况。
- 示例:
du -sh directory
。
chmod: 修改文件或目录的权限。
- 示例:
chmod 755 file.txt
、chmod +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 /mnt
、umount /mnt
。
硬件信息和监控命令:
lshw / hwinfo: 显示硬件信息。
- 示例:
sudo lshw
。
iotop: 监控磁盘I/O使用情况。
- 示例:
sudo iotop
。
nvidia-smi: 显示NVIDIA GPU状态。
- 示例:
nvidia-smi
。
网络命令:
ping: 测试网络连接是否正常。
- 示例:
ping google.com
。
ifconfig / ip: 显示网络接口信息。
- 示例:
ifconfig
、ip 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 files
、tar -xvf archive.tar
。
:::details 参数
-c
: 创建归档文件。-x
: 解压缩归档文件。-f file
: 指定归档文件的名称。-v
: 显示操作的详细信息。-z
: 以 gzip 压缩或解压缩。-j
: 以 bzip2 压缩或解压缩。-t
: 查看归档文件中的内容。
在上面的示例中,显示了一些命令历史记录,每一行都包括一个序号和相应的命令。通过序号来重新执行之前执行过的命令,如 !5 将重新执行序号为 5 的命令。
:::
gzip / gunzip: 压缩和解压 .gz 文件。
- 示例:
gzip file.txt
、gunzip file.txt.gz
。
时间和日期命令:
date: 显示当前日期和时间。
- 示例:
date
。
cal: 显示日历。
- 示例:
cal
。
Shell脚本和编程命令:
bash: 运行Bash脚本。
- 示例:
bash script.sh
。
source / .: 在当前Shell环境中执行脚本。
- 示例:
. script.sh
、source 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 | ls |
clear / Ctrl+L: 清屏。
echo: 打印文本到标准输出。
- 示例:
echo "Hello, World!"
。
1 |
monica-code-tools