Linux操作命令
Linux
文件与目录操作命令
相对路径和绝对路径
绝对路径:以根目录做起点,描述路径的方式,路径以/
开头 。
相对路径:以当前目录做起点,描述路径的方式,路径不需以/
开头。
ls:列出当前目录下的文件和目录。
参数:
-l:显示详细信息(权限、所有者、大小、创建时间等)。
第一个字符(’d’,’-‘)表示文件类型,d
为文件夹,-
为文件;
此后三个字符为一组表示权限,分别为文件所有者,文件所属组用户,其他用户的权限,r
可读,w
可写,x
可执行;
数字代表链接数;
后面为文件所有者和文件所属组;
然后是文件大小(字节);
接下来为创建时间;
最后为文件名。
-lh:以人类易读的方式列出文件大小。
-a:显示隐藏文件(以.开头的文件)。
cd:更改当前工作目录。
示例:
cd /home/user
进入 /home/user 目录。
cd ..
返回上一级目录。
pwd:显示当前工作目录的完整路径。
mkdir:创建新目录。make direction
参数:-p:自动创建不存在的父目录。
示例:
mkdir newfolder
创建名为 newfolder 的新目录。
mkdir -p test1/test2/test3
touch:创建文件。
示例:touch test.txt
rmdir:删除空目录。
rm:删除文件或目录。
参数:
-r:递归删除目录及其内容。
-f:强制删除文件。
示例:rm -rf /path/to/directory
强制递归删除一个目录及其内容。
cp:复制文件或目录。
参数:-r 递归复制目录。
示例:cp file1 file2
复制 file1 为 file2。
mv:移动或重命名文件或目录。
示例:mv oldfile newfile
将 oldfile 重命名为 newfile。
文件内容查看命令
cat:显示文件内容。
示例:cat file.txt
查看 file.txt 的内容。
more:分页显示文件内容,按页阅读长文件(空格翻页)。
示例:more file.txt
less:类似 more,但支持更灵活的分页查看。
示例:ess file.txt
head:查看文件的前几行。
参数(可选):-n 显示匹配的行的行号。
示例:head -n 10 file.txt
查看文件前10行。
tail:查看文件的最后几行。
tail [-f -num] 文件路径
参数:
-f 持续跟踪
-num 尾部多少行,不填默认10行
示例:tail -f -5 file.txt
查看文件最后5行并持续跟踪。
管道符|
:将管道符左边命令的结果作为右边命令的输入
示例:cat test.txt | grep flag
从test.txt文件中输出包含flag的内容。
查找与搜索命令
find:在指定目录下查找文件或目录。
find 起始路径 -name “查找的文件名”
find 起始路径 -size +|-n[kMG]
+、-表示大于和小于;n表示大小;k(小写)、M、G为文件大小。
示例:
find /home -name "*.txt"
在 /home 目录下查找所有.txt
文件。*
为通配符,进行模糊匹配。
find /home/-size -10k
在/home目录下查找所有小于10kb的文件
which:查看使用的一系列命令的程序文件路径
grep:在文件中搜索指定字符串。
grep -n 关键字 文件路径(可作为输入端口)
参数(可选):-n 显示匹配的行的行号。
示例:grep -n "hello" file.txt
在 file.txt 中搜索 hello 字符串。
locate:快速查找文件路径。
示例:locate file.txt
wc:统计
wc [-c -m -l -w] 文件路径
默认输出行数,单词数,字节数,文件名
参数:
-c 统计bytes数量
-m 统计字符数量
-l 统计行数
-w 统计单词数
示例:
wc flag.txt
wc -w flag.txt
用户与权限管理命令
sudo:以超级用户身份执行命令。
示例:sudo command
以管理员权限运行命令。
chmod:修改文件或目录的权限。
参数:
u:文件所有者
g:文件所属组
o:其他用户
a:所有用户
+:添加权限
-:去除权限
=:设置权限,会覆盖原来的权限
r:读,数值为4
w:写,数值为2
x:执行,数字为1
-R或–recursive:递归地更改指定目录及其所有子目录和文件的权限
示例:
chmod 755 file.sh
赋予文件 file.sh 可读、可写、可执行权限(所有者有完全权限,组和其他用户有读和执行权限)。
chmod u+x file.sh
给文件所有者添加执行权限。
chown:更改文件或目录的所有者。
示例:chown user:group file.txt
修改 file.txt 的所有者为 user,所属组为 group。
passwd:更改用户密码。
示例:passwd username
修改指定用户的密码。
系统管理命令
top:实时显示系统的资源使用情况,包括CPU、内存占用,进程信息。
ps:显示当前系统的进程状态。
示例:ps aux
显示所有进程及其详细信息。
kill:终止进程。
示例:kill PID
终止进程号为 PID 的进程。
shutdown:关闭系统。
示例:
shutdown -h now
立即关闭系统。
shutdown -r now
立即重启系统。
reboot:重启系统。
磁盘管理命令
df:查看文件系统的磁盘空间使用情况。
参数:-h 以人类可读的形式显示。
示例:df -h
du:查看文件或目录的磁盘空间使用情况。
参数:-h 以人类可读的形式显示。
示例:du -sh folder_name
查看目录 folder_name 的总大小。
fdisk:用于磁盘分区管理。
示例:fdisk /dev/sda
mount:挂载文件系统。
示例:mount /dev/sda1 /mnt
将设备 /dev/sda1 挂载到 /mnt 目录。
umount:卸载文件系统。
示例:umount /mnt
卸载 /mnt 下的文件系统。
软件包管理
根据不同的Linux发行版,软件包管理工具有所不同。
apt(适用于Debian系如Ubuntu):管理软件包的工具。
apt update:更新软件包列表。
apt upgrade:升级系统中已安装的软件包。
apt install package_name:安装软件包。
apt remove package_name:卸载软件包。
yum(适用于Red Hat/CentOS):用于软件包管理。
示例:yum install package_name
dnf:Fedora等较新版本的Red Hat系使用。
示例:dnf install package_name
网络操作命令
ping:检查主机网络连通性。
示例:ping google.com
ifconfig:查看和配置网络接口。
示例:ifconfig eth0
查看 eth0 网络接口的配置信息(较老命令,较新系统使用 ip 命令)。
ip:查看和管理网络接口。
示例:ip addr show
查看所有网络接口的IP地址。
netstat:显示网络连接、路由表等信息。
示例:netstat -an
显示所有活动的网络连接。
curl:从服务器获取数据,支持多种协议(HTTP、FTP等)。
示例:curl http://example.com
下载 example.com 的页面内容。
压缩与解压命令
tar:打包和解压缩文件。
示例:
tar -cvf archive.tar file1 file2
打包。
tar -xvf archive.tar
解压
tar -czvf archive.tar.gz file1 file2
压缩
tar -xzvf archive.tar.gz
解压缩
zip / unzip:压缩与解压缩ZIP文件。
示例:
zip archive.zip file1 file2
压缩
unzip archive.zip
解压。
时间管理命令
date:显示或设置系统日期和时间。
示例:date
显示当前系统时间。
cal:显示当前月的日历。
示例:cal
显示本月日历。
其他
ln:创建链接
参数:-s 创建符号链接(软链接)。不加-s则创建硬链接。
-f 强制创建链接,如果目标文件已存在,则先删除目标文件再创建链接。
-n 如果链接的目标是一个目录,将在该目录内创建链接,而不是链接到该目录。
示例:ln [选项] 源文件 目标文件
ln -s 源文件 目标文件
`:反引号,包围的内容作为命令执行
>和>>:重定向符
>
:左侧命令的结果,覆盖写入到符号右侧指定的文件中。
>>
:左侧命令的结果,追加写入到符号右侧指定的文件中。
echo:输出命令
echo 输出的内容
示例:
echo "hello Linux"
输出”hello Linux”
echo "flag" >> flag.txt
将flag写入到flag.txt文件
echo `pwd` 执行pwd命令