1. 文件和目录操作命令
- ls:列出目录的内容,包括文件和子目录。可以使用各种参数来定制输出,如
-l以长格式显示详细信息,-a显示所有文件包括隐藏文件等。
ls -l
ls -a
cd /home/user
cd.. # 切换到上一级目录
pwd
mkdir new_directory
mkdir -p parent/child_directory # 创建多级目录
rmdir empty_directory
- rm:删除文件或目录。使用
-r参数可以递归删除目录及其内容,-f参数可以强制删除而不提示确认。
rm file.txt
rm -r directory
rm -rf force_delete_directory
cp file1.txt file2.txt
cp -r source_directory destination_directory
mv file.txt new_location/file.txt
mv old_name.txt new_name.txt
2. 文件查看和编辑命令
cat file.txt
- more:分页查看文件内容,适合查看大文件,按空格键翻页,按
q键退出
more large_file.txt
- less:类似于 more,但功能更强大,可以向前和向后翻页,搜索文本等。使用
/键进行搜索,n键查找下一个匹配项,N键查找上一个匹配项。
less file.txt
- head:显示文件的开头部分,默认显示前 10 行,可以使用
-n参数指定显示的行数。
head file.txt
head -n 5 file.txt
- tail:显示文件的结尾部分,默认显示后 10 行,同样可以使用
-n参数指定行数,-f参数可以实时跟踪文件的更新,常用于查看日志文件。
tail file.txt
tail -n 3 file.txt
tail -f logfile.log
- vi 或 vim:强大的文本编辑器,用于创建和编辑文本文件。进入编辑器后,按
i键进入插入模式进行编辑,按Esc键退出插入模式,输入:wq保存并退出,输入:q!不保存强制退出。
vi file.txt
vim new_file.txt
- nano:另一种简单易用的文本编辑器,操作相对较为直观。使用
Ctrl+O保存文件,Ctrl+X退出编辑器。
nano file.txt
3. 系统信息和管理命令
- uname:显示系统信息,如内核版本、操作系统名称等。
-a参数可以显示详细的系统信息。
uname -a
hostname
hostname new_hostname
date
date +%Y-%m-%d # 按照指定格式显示日期
date -s "2024-11-10 12:00:00" # 设置系统日期和时间
- top:实时动态地查看系统的进程信息,包括 CPU、内存使用情况等。按
q键退出。
top
- ps:查看当前系统中的进程状态。常用参数有
-ef可以显示所有进程的详细信息,-aux以 BSD 风格显示进程信息。
ps -ef
ps -aux
- kill:终止进程。通过进程 ID(PID)来杀死指定的进程。
-9参数表示强制终止进程。
kill PID
kill -9 PID
- df:查看文件系统的磁盘空间使用情况。
-h参数以人类可读的格式显示磁盘空间大小。
df
df -h
- du:查看目录或文件占用的磁盘空间大小。
-s参数只显示总计,-h参数以人类可读格式显示。
du -sh directory
du -h file.txt
4. 网络相关命令
- ifconfig:查看和配置网络接口的信息,包括 IP 地址、子网掩码等。在一些较新的 Linux 发行版中,可能需要使用
ip addr命令来代替。
ifconfig
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 # 设置IP地址和子网掩码
- ping:用于测试网络连接,向目标主机发送 ICMP 数据包并接收响应,以检查网络是否可达。
ping www.example.com
ping -c 4 192.168.1.1 # 发送4个数据包后停止
- netstat:查看网络状态信息,如网络连接、路由表、接口统计信息等。常用参数有
-an显示所有网络连接和监听端口,-rn显示路由表。
netstat -an
netstat -rn
- ssh:用于通过网络连接到远程主机并执行命令或进行交互操作。
ssh user@remote_host
ssh -p port_number user@remote_host # 指定端口号连接远程主机
scp file.txt user@remote_host:/home/user/destination
scp -r local_directory user@remote_host:/home/user/remote_directory
5. 压缩和解压缩命令
- tar:用于打包和压缩文件。常用参数有
-cvf创建归档文件,-xvf解压归档文件,-zcvf创建压缩的归档文件(使用 gzip 压缩),-zxvf解压压缩的归档文件。
tar -cvf archive.tar file1.txt file2.txt
tar -xvf archive.tar
tar -zcvf compressed_archive.tar.gz directory
tar -zxvf compressed_archive.tar.gz
- gzip:用于压缩单个文件,压缩后的文件扩展名为
.gz。-d参数用于解压缩。
gzip file.txt
gzip -d file.txt.gz
- zip 和 unzip:用于创建和解压 zip 压缩文件。
zip archive.zip file1.txt file2.txt
unzip archive.zip
6. 用户和权限管理命令
useradd new_user
useradd -m new_user # 创建用户并同时创建用户主目录
passwd user
- userdel:删除用户。
-r参数可以同时删除用户的主目录和邮件等相关文件。
userdel user
userdel -r user
chown user file.txt
chown -R user directory # 递归改变目录及其内容的所有者
chgrp group file.txt
chgrp -R group directory
- chmod:改变文件或目录的权限。权限可以用数字表示,也可以用字符表示,如
r表示读权限,w表示写权限,x表示执行权限。
chmod 755 file.txt
chmod u+x file.txt # 给文件所有者添加执行权限
7. 管道和重定向命令
- |:管道符号,用于将一个命令的输出作为另一个命令的输入。
ls -l | grep "file"
- >:重定向输出到文件,如果文件不存在则创建,如果文件存在则覆盖原有内容。
echo "Hello, World!" > output.txt
- >>:重定向输出到文件,追加到文件末尾而不覆盖原有内容。
echo "This is additional text." >> output.txt
<:重定向输入,从文件中读取输入而不是从键盘输入。
sort < input.txt
8. 软件包管理命令
- apt-get:用于在基于 Debian 和 Ubuntu 的系统中安装、升级和删除软件包。
apt-get update # 更新软件包列表
apt-get install package_name
apt-get upgrade # 升级所有已安装的软件包
apt-get remove package_name
- yum:用于在基于 Red Hat 和 CentOS 的系统中管理软件包。
yum update # 更新软件包
yum install package_name
yum remove package_name