当前位置:首页>Linux>Linux杂记-- GNU/Linux 入门指南(2)

Linux杂记-- GNU/Linux 入门指南(2)

  • 2026-09-02 19:04:50
Linux杂记-- GNU/Linux 入门指南(2)

1.4 基础 Linux 工具

Linux 几乎为任何任务都准备了命令,而且大多数命令都很直观且易于使用。

获取 Linux 帮助

命令用途
man <name>阅读 name 的手册页
man <section> <name>阅读与给定章节相关的 name 手册页
man -k <editor>输出所有手册页中包含 <editor> 的软件
man -K <keyword>输出所有包含 <keyword> 的手册页
apropos <editor>输出所有单行描述匹配 editor 一词的应用程序。当无法回忆应用程序名称时使用此命令
help在 Bash shell 中,显示所有可用的 bash 内置命令列表
help <name>在 Bash shell 中,显示关于 <name> bash 内置命令的信息
info <name>查看关于 name 的所有信息
dpkg -l输出基于 Debian 的系统上所有已安装包的列表
dpkg -L packageName列出给定包在 Debian 系统上安装的文件和路径详情
dpkg -l \| grep -i <edit>返回所有已安装的 .deb 包,包含 <edit>,不区分大小写
less /var/lib/dpkg/available返回所有可用包的描述
whatis vim列出 vim 的一行描述
<command-name> --help显示关于 <tool-name> 的使用信息。有时 command -h 也有效,但并非对所有命令都适用

用户识别和系统用户信息

命令用途
hostname显示系统主机名
hostname -f显示系统的完全限定域名(FQDN)
passwd更改当前用户密码
whoami显示登录到终端的用户名
who列出当前以用户身份登录的所有用户列表
w显示当前系统状态、时间、持续时间、当前登录系统的用户列表和其他用户信息
last显示最近使用系统的用户
last root显示 root 用户上次登录的时间
lastb显示所有登录系统的失败尝试

进程相关信息

命令用途
top列出所有进程,按当前系统资源使用率排序。持续显示进程更新(默认每 3 秒)。按 q 键退出 top
ps列出当前 shell 会话中正在运行的进程
ps -u root列出 root 正在运行的所有进程和命令
ps aux列出当前系统上所有用户的所有进程

1.5 按名称/内容模式搜索文件

使用 Linux 命令行(shell)的常见任务是搜索具有特定名称或包含特定文本的文件/目录。你需要熟悉以下两个命令来完成此任务:

按名称查找文件

find /var/www -name '*.css' 
这将打印出 /var/www 下所有以 .css 结尾的文件的完整路径/文件名。示例输出:
/var/www/html/text-cursor.css/var/www/html/style.css
更多信息:man find

查找包含文本的文件

grep 'font' /var/www/html/style.css
这将打印指定文件中包含模式 font 的所有行。示例输出:
font-weight: bold;font-family: monospace;
另一个示例:
grep 'font' /var/www/html/
这不会像你期望的那样工作。你会得到:
grep: /var/www/html/: Is a directory
你需要使用 -R 选项递归地进行 grep:
grep -R 'font' /var/www/html/
很好!看看这个的输出:
/var/www/html/admin/index.php: echo '<font color=red><b>Error: no dice</b></font><br/>';/var/www/html/admin/index.php: echo '<font color=red><b>Error: try again</b></font><br/>';/var/www/html/style.css: font-weight: bold;/var/www/html/style.css: font-family: monospace;
注意当 grep 匹配多个文件时,它会在匹配的行前加上文件名。你可以使用 -h 选项来去掉文件名前缀。
更多信息:man grep

1.6 文件操作

文件和目录(文件夹的另一个名称)是 Linux 的核心,因此能够从命令行创建、查看、移动和删除它们非常重要且功能强大。这些文件操作命令允许你执行与图形文件浏览器相同的任务。
创建名为 myFile 的空文本文件:
touch myFile
将 myFile 重命名为 myFirstFile:
mv myFile myFirstFile
查看文件内容:
cat myFirstFile
使用分页器查看文件内容(一次一屏):
less myFirstFile
查看文件的前几行:
head myFirstFile
查看文件的最后几行:
tail myFirstFile
编辑文件:
vi myFirstFile
查看当前工作目录中的文件:
ls
创建名为 myFirstDirectory 的空目录:
mkdir myFirstDirectory
创建多级目录路径:(创建两个目录,src 和 myFirstDirectory)
mkdir -p src/myFirstDirectory
将文件移动到目录中:
mv myFirstFile myFirstDirectory/
你也可以重命名文件:
user@linux-computer:~$ mv myFirstFile secondFileName
将当前工作目录更改为 myFirstDirectory:
cd myFirstDirectory
删除文件:
rm myFirstFile
进入父目录(用 .. 表示):
cd ..
删除空目录:
rmdir myFirstDirectory
删除非空目录(即包含文件和/或其他目录):
rm-rf myFirstDirectory
注意删除目录时,要删除的是 ./ 而不是 /,后者会清空你的整个系统!

1.7 文件/目录详情

ls 命令有几个选项可以一起使用以显示更多信息。

详情/权限

-l 选项显示文件权限、大小和最后修改日期。因此如果根目录包含一个名为 test 的目录和一个文件 someFile,命令:
user@linux-computer:~$ ls -l
将输出类似以下内容:
-rw-r--r-- 1 user users    70 Jul 22 13:36 someFile.txtdrwxrwxrwx 2 user users  4096 Jul 21 07:18 test
权限格式为 drwxrwxrwx。第一个字符表示文件类型,d 表示目录,- 表示其他。接下来的三个 rwx 是用户对文件的权限,再接下来的三个是组对文件的权限,最后三个是其他所有人对文件的权限。
rwx 中的 r 表示文件是否可读,w 表示文件是否可修改,x 表示文件是否可执行。如果任何权限未被授予,则会在 r、w 或 x 的位置显示 -。
因此从上面的例子可以看出,用户可以读取和修改 someFile.txt,但组只有只读权限。
要更改权限,如果你拥有 sudo 权限,可以使用 chmod

fileName 命令。r 用值 4 表示,w 用 2 表示,x 用 1 表示。因此如果只有你希望能够修改 test 目录的内容:

  • 所有者 rwx = 4+2+1 = 7
  • 组 r-x = 4+0+1 = 5
  • 其他 r-x = 4+0+1 = 5
因此完整命令是:
chmod 755 test
现在执行 ls -l 将显示类似以下内容:
drwxr-xr-x 2 user users 4096 Jul 21 07:20 test

可读大小

与 -l 选项一起使用时,-h 选项以人类可读的格式显示文件大小。运行:
user@linux-computer:~$ ls- lh
将输出:
total 4166-rw-r--r-- 1 user users   70 Jul 22 13:36 someFile.txtdrwxrwxrwx 2 user users 4.0K Jul 21 07:18 test

隐藏文件

要查看隐藏文件,使用 -a 选项。例如:
user@linux-computer:~$ ls-a
可能列出:
.  ..  .profile  someFile.txt  test

目录总大小

要查看当前目录的大小,使用 -s 选项(-h 选项也可以一起使用以使大小更易读)。
ls -sh
输出:
total 4166someFile.txt  test

递归查看

假设 test 目录中有一个文件 anotherFile,你想从根文件夹看到它,你可以使用 -R 选项,它将列出递归树。
user@linux-computer:~$ ls -R
输出:
.:someFile.txt  test./test:anotherFile

最新文章

随机文章