这些常用的Linux命令,让Linux新手快速上手

这些常用的Linux命令,让Linux新手快速上手

Linux是一个广泛使用的开源操作系统,它拥有强大的命令行界面。本文将介绍一些在Linux中常用的命令。

cd:改变目录

cd 命令用于改变当前工作目录。可以使用相对路径或绝对路径来指定目录。

示例:

1
2
3
4
5

cd /home/user/Documents # 进入 /home/user/Documents 目录
cd .. # 返回上级目录
cd # 进入当前用户的主目录

ls:列出目录内容

ls 命令用于列出指定目录中的文件和子目录。

示例:

1
2
3
4
5
ls                       # 列出当前目录内容
ls /home/user/Documents # 列出 /home/user/Documents 目录内容
ls -l # 以长格式显示目录内容
ls -a # 显示所有文件,包括隐藏文件

mkdir:创建新目录

mkdir 命令用于创建一个新目录。

示例:

1
2
3
mkdir mydir              # 在当前目录下创建 mydir 目录
mkdir /tmp/mydir # 在 /tmp 目录下创建 mydir 目录
mkdir -p dir1/dir2 # 创建嵌套目录

rm:删除文件或目录

rm 命令用于删除指定的文件或目录。

示例:

1
2
3
rm myfile                 # 删除 myfile 文件
rm -r mydir # 删除 mydir 目录及其内容
rm -f myfile # 强制删除 myfile 文件

mv:移动或重命名文件或目录

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

示例:

1
2
3
mv myfile /tmp           # 将 myfile 文件移动到 /tmp 目录下
mv myfile newfile # 将 myfile 文件重命名为 newfile
mv dir1/dir2/* dir3/ # 移动 dir1/dir2 目录下的所有内容到 dir3 目录下

cp:复制文件或目录

cp 命令用于复制指定的文件或目录。

示例:

1
2
3
4
cp myfile /tmp           # 复制 myfile 文件到 /tmp 目录下
cp -r mydir /tmp # 复制 mydir 目录及其内容到 /tmp 目录下
cp -i myfile newfile # 如果 newfile 已经存在,会提示是否覆盖

touch:创建新文件或更改文件时间戳

touch 命令用于修改文件的访问和修改时间,如果文件不存在则创建一个新的空文件。

示例:

1
2
3
4
5
6
touch myfile             # 创建一个空的 myfile 文件
touch /path/to/file # 修改 /path/to/file 的访问和修改时间
touch -c /path/to/file # 与上面相同,但如果文件不存在则不会创建新文件
touch -d "1 day ago" /path/to/file # 将 /path/to/file 的时间设置为一天前
touch -t 202305081200 myfile # 将 myfile 文件的修改时间设置为 2023 年 05 月 08 日 12:00

cat:查看文件内容

cat 命令用于查看文件内容。

示例:

1
2
3
cat myfile               # 显示 myfile 文件内容
cat file1 file2 # 按顺序显示多个文件内容
cat > myfile # 创建一个新的 myfile 文件,并将输入写入该文件中(按 Ctrl+D 结束)

grep:在文件中查找指定文本

grep 命令用于在指定文件中查找包含指定文本的行。grep 命令的基本语法如下:

1
grep [options] pattern [file ...]

以下是 grep 命令中一些常用的选项:

  1. -i:忽略大小写。
  2. -w:匹配整个单词而不是单词的一部分。
  3. -v:显示不匹配模式的所有行。
  4. -n:显示匹配模式的行号。
  5. -c:统计匹配模式的行数。
  6. -r:递归搜索目录中的所有文件。
  7. -E:使用扩展正则表达式语法。
  8. -F:不使用正则表达式,将模式作为普通字符串进行匹配。
    示例:
    1
    2
    grep "pattern" myfile     # 在 myfile 文件中查找包含 pattern 的行
    grep -r "pattern" mydir # 在 mydir 目录及其子目录中查找包含 pattern 的行

top:查看系统资源使用情况

top 命令用于实时监视系统资源的使用情况。

示例:

1
top                      # 显示系统资源使用情况,每隔一秒更新一次

ps:列出当前进程信息

ps 命令用于列出当前系统中所有进程的信息。

示例:

1
2
3
ps                      # 列出当前用户的所有进程
ps -ef # 列出所有进程的详细信息
ps aux # 列出所有进程的详细信息(BSD 风格)

kill:终止指定进程

kill 命令用于终止指定进程。可以使用进程 ID 或进程名来指定要终止的进程。

示例:

1
2
3
kill 1234               # 终止进程 ID 为 1234 的进程
kill -9 1234 # 强制终止进程 ID 为 1234 的进程
kill -s TERM firefox # 给名为 firefox 的进程发送 SIGTERM 信号

chmod:修改文件或目录权限

chmod 命令用于修改指定文件或目录的权限。

示例:

1
2
3
chmod 644 myfile        # 将 myfile 文件的权限设置为 rw-r--r--
chmod +x myscript # 给名为 myscript 的脚本添加可执行权限
chmod -R 777 mydir # 将 mydir 目录及其所有内容的权限设置为 rwxrwxrwx

chown:修改文件或目录所有者

chown 命令用于修改指定文件或目录的所有者。

示例:

1
2
chown user myfile       # 将 myfile 文件的所有者设置为 user
chown -R user:group mydir # 将 mydir 目录及其所有内容的所有者设置为 user,组设置为 group

tar:压缩和解压文件

tar 命令用于打包、压缩和解压文件。

示例:

1
2
3
4
tar -cvf archive.tar file1 file2   # 将 file1 和 file2 文件打包到 archive.tar 文件中
tar -xvf archive.tar # 解压并还原 archive.tar 文件
tar -czvf archive.tar.gz mydir # 将 mydir 目录打包并压缩为 archive.tar.gz 文件
tar -xzvf archive.tar.gz # 解压并还原 archive.tar.gz 文件

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

df 命令用于显示磁盘空间使用情况,包括磁盘总容量、已使用容量和可用容量。

示例:

1
2
3
df                      # 显示所有挂载点的磁盘空间使用情况
df -h # 以易读格式显示磁盘空间使用情况
df /dev/sda1 # 显示 /dev/sda1 分区的磁盘空间使用情况

du:显示目录或文件的磁盘空间使用情况

du 命令用于显示指定目录或文件的磁盘空间使用情况。

示例:

1
2
3
4
du                      # 显示当前目录下所有文件和子目录的磁盘空间使用情况
du -h # 以易读格式显示磁盘空间使用情况
du -s mydir # 显示 mydir 目录的磁盘空间使用情况和总大小
du -sh myfile # 显示 myfile 文件的磁盘空间使用情况

ping:测试主机之间的连通性

ping 命令用于测试主机之间的连通性。发送一些数据报给指定主机,并等待响应。

示例:

1
2
ping google.com         # 测试与 google.com 主机的连通性
ping -c 4 192.168.1.1 # 发送 4 个数据报给 192.168.1.1 主机

ifconfig:显示和配置网络接口

ifconfig 命令用于显示和配置系统中的网络接口。

示例:

1
2
3
4
ifconfig                # 显示所有网络接口的信息
ifconfig eth0 # 显示名为 eth0 的网络接口的信息
ifconfig eth0 up # 启动名为 eth0 的网络接口
ifconfig eth0 down # 关闭名为 eth0 的网络接口

ssh:通过安全的 shell(SSH)连接到远程主机

ssh 命令用于通过安全的 shell(SSH)连接到远程主机。

示例:

1
2
ssh user@remotehost     # 连接到名为 remotehost 的远程主机,使用 user 用户身份验证
ssh -p 2222 user@192.168.1.100 # 使用非标准 SSH 端口 2222 连接到 IP 地址为 192.168.1.100 的远程主机

scp:使用安全的 shell(SSH)复制文件

scp 命令用于在本地主机和远程主机之间复制文件,使用 SSH 作为传输协议。

示例:

1
2
3
scp myfile user@remotehost:/home/user       # 将 myfile 文件复制到名为 remotehost 的远程主机上的 /home/user 目录中
scp -r mydir user@remotehost:/home/user # 将 mydir 目录及其内容复制到远程主机上的 /home/user 目录中
scp user@remotehost:myfile /local/dir # 从名为 remotehost 的远程主机上将 myfile 文件复制到本地 /local/dir 目录中

wget:从网络下载文件

wget 命令用于从网上下载文件。

示例:

1
2
wget http://example.com/file.zip      # 下载名为 file.zip 的文件
wget -c http://example.com/file.zip # 断点续传方式下载文件

curl:通过 URL 获取数据

curl 命令用于通过 URL 获取数据。

示例:

1
2
curl http://example.com              # 显示 example.com 网站的首页源代码
curl -O http://example.com/file.zip # 下载名为 file.zip 的文件

netstat:显示网络连接状态及统计信息

netstat 命令用于显示系统中的网络连接状态及相关统计信息。

示例:

1
2
3
4
netstat                 # 显示所有网络连接信息
netstat -a # 显示所有活动的网络连接信息
netstat -t # 显示所有 TCP 连接信息
netstat -u # 显示所有 UDP 连接信息

iptables:配置 Linux 内核的防火墙功能

iptables 命令用于配置 Linux 内核的防火墙功能。

示例:

1
2
3
iptables -L             # 显示当前防火墙规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许 SSH 连接
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT # 允许 DNS 查询

sed:流编辑器,用于对文本进行替换、删除和插入操作

sed 命令用于对文本进行替换、删除和插入操作。

示例:

1
2
3
4
sed 's/hello/world/g' myfile.txt      # 将 myfile.txt 文件中所有的 hello 替换为 world
sed '/hello/d' myfile.txt # 删除 myfile.txt 文件中所有包含 hello 的行
sed '1,5d' myfile.txt # 删除 myfile.txt 文件中第一行到第五行
sed '$a\hello' myfile.txt # 在 myfile.txt 文件的最后一行插入 hello

awk:文本处理工具,用于提取和格式化文本数据

awk 命令是一个文本处理工具,用于提取和格式化文本数据。

示例:

1
2
3
awk '{print $1}' myfile.txt           # 提取 myfile.txt 文件每行的第一个单词
awk '/hello/{print $0}' myfile.txt # 在 myfile.txt 文件中查找包含 hello 的行,并输出整行文本
awk -F':' '{print $1,$7}' /etc/passwd # 提取 /etc/passwd 文件中每个用户的用户名和登录 shell

find:在指定目录下查找符合条件的文件

find 命令用于在指定目录下查找符合条件的文件。

示例:

1
2
3
find /home/user -name '*.txt'          # 在 /home/user 目录及其子目录下查找所有扩展名为 .txt 的文件
find /var/log -type f -mtime +7 # 在 /var/log 目录及其子目录下查找 7 天前修改过的所有文件
find /tmp -size +10M # 在 /tmp 目录及其子目录下查找大小超过 10MB 的所有文件

zip 和 unzip:压缩和解压文件

zip 和 unzip 命令用于压缩和解压文件。

示例:

1
2
3
zip archive.zip file1 file2             # 将 file1 和 file2 文件压缩成 archive.zip 文件
unzip archive.zip # 解压并还原 archive.zip 文件
unzip -d /path/to/dir archive.zip # 将 archive.zip 文件解压到指定目录 /path/to/dir 中

ln:创建链接文件

ln 命令用于创建链接文件,包括硬链接和符号链接。

示例:

1
2
ln /path/to/file /path/to/link         # 创建一个硬链接文件 /path/to/link,指向 /path/to/file
ln -s /path/to/file /path/to/link # 创建一个符号链接文件 /path/to/link,指向 /path/to/file

useradd 和 userdel:添加和删除用户

useradd 和 userdel 命令用于添加和删除用户。

示例:

1
2
3
useradd user                    # 添加名为 user 的用户
userdel user # 删除名为 user 的用户
useradd -m -s /bin/bash user # 创建一个新用户,并设置登录 shell 为 /bin/bash

passwd:修改用户密码

passwd 命令用于修改用户密码。

示例:

1
2
3
passwd                          # 修改当前用户的密码
passwd user # 修改名为 user 的用户的密码
passwd -d user # 删除名为 user 的用户的密码

groupadd 和 groupdel:添加和删除用户组

groupadd 和 groupdel 命令用于添加和删除用户组。

示例:

1
2
3
groupadd mygroup                # 添加名为 mygroup 的用户组
groupdel mygroup # 删除名为 mygroup 的用户组
usermod -aG mygroup user # 将名为 user 的用户添加到名为 mygroup 的用户组中

su:切换用户身份

su 命令用于切换用户身份。

示例:

1
2
3
su user             # 切换到名为 user 的用户身份
su -c 'command' # 以 root 用户身份执行指定的 command 命令
su - # 切换到 root 用户身份

sudo:以超级用户身份进行操作

sudo 命令用于在不切换用户身份的情况下以超级用户身份进行操作。

示例:

1
2
3
sudo command            # 以超级用户身份执行指定的 command 命令
sudo -s # 切换到超级用户身份
sudo -u user command # 以名为 user 的用户身份执行指定的 command 命令

这些是Linux中一些常用的系统管理命令。掌握这些命令将使您能够更好地管理您的系统。当然,Linux中的命令远不止于此,如果您想深入了解,还需要持续学习和实践。最后,我希望本文对读者有所启发,如果您有任何问题或建议,请在评论区留言。

这些常用的Linux命令,让Linux新手快速上手

https://blogs.52fx.biz/posts/3533367440.html

作者

eyiadmin

发布于

2023-05-08

更新于

2024-05-31

许可协议

评论