文件和目录操作指令
ls
(list)指令
功能:用于列出目录的内容,包括文件和子目录。
示例:
ls
:列出当前目录下的所有非隐藏文件和目录。例如,在一个包含文件file1.txt
、file2.txt
和目录dir1
的目录中,执行ls
会显示file1.txt file2.txt dir1
。
ls -l
:以长格式列出文件和目录的详细信息,如文件权限、所有者、大小、修改日期等。例如,ls -l
可能会显示如下内容:
-rw-r--r-- 1 user group 1024 Jan 1 10:00 file1.txt
drwxr-xr-x 2 user group 4096 Jan 2 14:00 dir1
- `ls -a`:列出所有文件和目录,包括隐藏文件(文件名以`.`开头的文件)。例如,在一个有隐藏文件`.config`的目录中,`ls -a`会显示`.config file1.txt file2.txt dir1`。
- **`cd`(change directory)指令**
- 功能:用于切换当前工作目录。
- 示例:
- `cd /home/user/Documents`:将当前目录切换到`/home/user/Documents`。如果当前目录是`/home/user`,执行此命令后,当前目录就会变为`Documents`目录。
- `cd..`:返回上一级目录。例如,当前目录是`/home/user/Documents`,执行`cd..`后,当前目录变为`/home/user`。
- **`pwd`(print working directory)指令**
- 功能:显示当前工作目录的绝对路径。
- 示例:在目录`/home/user/Documents`中执行`pwd`,会显示`/home/user/Documents`。
- **`mkdir`(make directory)指令**
- 功能:用于创建新的目录。
- 示例:
- `mkdir new_dir`:在当前目录下创建一个名为`new_dir`的新目录。
- `mkdir -p parent/child`:创建多级目录,这里会创建`parent`目录以及它下面的`child`目录。例如,如果`parent`目录不存在,执行此命令会先创建`parent`,然后在其中创建`child`目录。
- **`rmdir`(remove directory)指令**
- 功能:用于删除空目录。
- 示例:
- `rmdir empty_dir`:删除名为`empty_dir`的空目录。如果`empty_dir`中有文件或子目录,则会提示目录非空,无法删除。
- **`rm`(remove)指令**
- 功能:用于删除文件或目录。
- 示例:
- `rm file.txt`:删除当前目录下名为`file.txt`的文件。
- `rm -r dir`:递归删除目录`dir`及其所有内容。例如,`dir`目录下有文件和子目录,执行`rm -r dir`会将`dir`以及其内部的所有文件和子目录都删除。使用此命令要特别小心,因为数据删除后很难恢复。
- **`cp`(copy)指令**
- 功能:用于复制文件和目录。
- 示例:
- `cp file1.txt file2.txt`:将`file1.txt`复制为`file2.txt`。如果`file2.txt`已经存在,会覆盖它。
- `cp -r dir1 dir2`:递归复制目录`dir1`到`dir2`。如果`dir2`不存在,会创建它并将`dir1`的内容复制进去;如果`dir2`存在,会将`dir1`的内容复制到`dir2`里面。
- **`mv`(move)指令**
- 功能:用于移动文件或目录,也可用于文件或目录的重命名。
- 示例:
- `mv file1.txt dir1/`:将`file1.txt`移动到`dir1`目录下。
- `mv old_name.txt new_name.txt`:将`old_name.txt`重命名为`new_name.txt`。
文件查看和编辑指令
cat
(concatenate)指令
功能:用于查看文件内容,将文件内容输出到终端。
示例:
cat file.txt
:在终端显示file.txt
的内容。如果file.txt
内容为“Hello, World!”,执行此命令后,终端会显示“Hello, World!”。
more
指令
功能:用于分页查看文件内容,适合查看大文件。按空格键可以向下翻页,按q
键退出查看。
示例:
more large_file.txt
:分页查看large_file.txt
的内容。
less
指令
功能:也是用于分页查看文件内容,但功能比more
更强大。可以使用上下箭头键来滚动内容,按q
键退出。它还支持搜索功能,在查看文件时按/
键,然后输入要搜索的字符串,按回车键即可进行搜索。
示例:
less another_file.txt
:分页查看another_file.txt
的内容。
vi
或vim
指令(以vim
为例)
功能:是一款强大的文本编辑器,用于创建和编辑文本文件。
示例:
vim new_file.txt
:如果new_file.txt
不存在,会创建一个新的文件并打开vim
编辑器;如果文件存在,会打开文件进行编辑。在vim
中有多种模式,普通模式下可以使用i
键进入插入模式进行文本输入。例如,进入插入模式后输入“Hello, Vim!”,然后按Esc
键回到普通模式,再输入:wq
(保存并退出)来保存文件。
系统管理和信息指令
ps
(process status)指令
功能:用于查看当前系统中的进程信息。
示例:
ps
:显示当前终端中运行的进程的基本信息,包括进程ID(PID)、终端(TTY)、时间(TIME)和命令(CMD)。例如,可能会显示如下内容:
PID TTY TIME CMD
1234 pts/0 00:00:00 bash
5678 pts/0 00:00:00 ps
- `ps -ef`:显示所有进程的详细信息,包括用户(UID)、父进程ID(PPID)等更多信息。
- **`kill`指令**
- 功能:用于终止进程。
- 示例:
- `kill 1234`:终止进程ID为`1234`的进程。通常在需要停止某个异常或不再需要的进程时使用。
- **`top`指令**
- 功能:实时显示系统的进程信息,包括CPU使用率、内存使用率等,并且会动态更新。
- 示例:
- `top`:执行此命令后,会在终端显示一个类似表格的信息界面,最上面几行显示系统的总体信息,如系统运行时间、用户数量、负载平均值等,下面的表格显示各个进程的详细信息,如进程ID、用户、优先级、CPU使用率、内存使用率等。按`q`键可以退出`top`显示。
- **`df`(disk free)指令**
- 功能:用于查看文件系统的磁盘空间使用情况。
- 示例:
- `df -h`:以人类可读的格式(如`KB`、`MB`、`GB`等)显示磁盘空间信息。可能会显示如下内容:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 5G 15G 25% /
- **`du`(disk usage)指令**
- 功能:用于查看目录或文件的磁盘使用情况。
- 示例:
- `du -h file.txt`:以人类可读的格式显示`file.txt`占用的磁盘空间大小。
- `du -sh dir`:以人类可读的格式显示目录`dir`及其所有内容占用的磁盘空间大小总和。
用户和权限管理指令
useradd
指令
功能:用于添加新用户。
示例:
useradd new_user
:添加一个名为new_user
的新用户。添加用户后,还需要使用passwd
指令为用户设置密码。
passwd
指令
功能:用于设置或修改用户密码。
示例:
passwd new_user
:为new_user
设置密码。执行此命令后,会提示输入新密码并确认密码。
chmod
(change mode)指令
功能:用于改变文件或目录的权限。
示例:
chmod 644 file.txt
:将file.txt
的权限设置为所有者有读写权限(6
),组用户和其他用户有读权限(4
)。权限数字是通过将读(4
)、写(2
)、执行(1
)权限相加得到的。例如,7
表示读写执行权限,5
表示读执行权限。
chown
(change owner)指令
功能:用于改变文件或目录的所有者。
示例:
chown new_user file.txt
:将file.txt
的所有者更改为new_user
。
网络相关指令
ifconfig
(interface configuration)指令(在一些系统中已被ip
指令部分替代)
功能:用于查看和配置网络接口信息。
示例:
ifconfig
:显示当前系统的网络接口信息,包括接口名称(如eth0
、wlan0
)、MAC地址、IP地址、子网掩码等。例如,可能会显示如下内容:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
ether 00:11:22:33:44:55 txqueuelen 1000 (Ethernet)
- **`ping`指令**
- 功能:用于测试网络连接,发送ICMP数据包到目标主机并等待响应。
- 示例:
- `ping google.com`:向`google.com`发送ICMP数据包,测试与`google.com`的网络连接。如果网络正常,会不断显示收到响应的信息,如“64 bytes from 172.217.160.142: icmp_seq=1 ttl=119 time=10.234 ms”,按`Ctrl + C`可以停止发送。
- **`netstat`指令**
- 功能:用于查看网络状态信息,如网络连接、路由表、网络接口统计信息等。
- 示例:
- `netstat -a`:显示所有(包括监听和非监听)的网络连接信息,包括TCP和UDP协议的连接。例如,会显示本地地址、外部地址、状态(如`ESTABLISHED`、`LISTEN`等)等信息。
- **`wget`指令**
- 功能:用于从网络上下载文件。
- 示例:
- `wget http://example.com/file.zip`:从`http://example.com`下载`file.zip`文件到当前目录。