Linux-简单命令
一. 增删改查
1. 查看目录(查)
ls
:列出目录内容ls # 列出当前目录可见文件 ls -l # 详细列表形式显示(权限、大小、时间等) ls -a # 显示所有文件(包括隐藏文件,以.开头) ls -lh # 人性化显示文件大小(如K、M、G) ls /path/dir # 列出指定目录内容
pwd
:显示当前所在目录的绝对路径pwd # 例如输出:/home/user/documents
cd
:切换目录cd /path/dir # 切换到指定绝对路径目录 cd ../ # 切换到上一级目录 cd ./subdir # 切换到当前目录下的subdir子目录(./可省略) cd ~ # 切换到当前用户的家目录 cd - # 切换到上一次所在的目录
2. 创建目录(增)
mkdir
:创建新目录mkdir dirname # 创建单个目录 mkdir dir1 dir2 dir3 # 同时创建多个目录 mkdir -p parent/child/sub # 递归创建嵌套目录(若父目录不存在则自动创建)
3. 删除目录(删)
rmdir
:删除空目录(只能删除空目录)rmdir empty_dir # 删除名为empty_dir的空目录
rm -r
:删除非空目录(强制删除目录及所有内容)rm -r dirname # 递归删除目录(会提示确认) rm -rf dirname # 强制删除目录及内容(不提示,慎用!)
4. 重命名 / 移动目录(改)
mv
:移动或重命名目录mv old_dir new_dir # 重命名目录(在同一位置) mv dirname /target/path # 将目录移动到目标路径
二、文件操作命令
1. 创建文件(增)
touch
:创建空文件(若文件已存在则更新修改时间)touch filename.txt # 创建单个空文件 touch file1.txt file2.txt # 同时创建多个文件
echo
:创建带内容的文件echo "Hello World" > file.txt # 将内容写入文件(覆盖原有内容) echo "追加内容" >> file.txt # 向文件追加内容(不覆盖)
cat
:从终端输入内容创建文件(按Ctrl+D
结束输入)cat > newfile.txt
2. 查看文件内容(查)
cat
:查看文件全部内容(适合短文件)cat file.txt # 直接显示文件内容 cat -n file.txt # 显示内容并带行号
more
/less
:分页查看长文件(more
只能向下翻页,less
支持上下翻页和搜索)more longfile.txt # 按Enter向下翻行,按空格向下翻页,q退出 less longfile.txt # 按↑↓键滚动,/关键词搜索,q退出
head
/tail
:查看文件开头或结尾内容head file.txt # 默认显示前10行 head -n 5 file.txt # 显示前5行 tail file.txt # 默认显示后10行 tail -n 3 file.txt # 显示后3行 tail -f log.txt # 实时追踪文件新增内容(常用于日志监控)
grep
:搜索文件中匹配的内容(文本搜索工具)grep "keyword" file.txt # 在文件中搜索包含keyword的行 grep -n "keyword" file.txt # 显示匹配行及行号 grep -i "Keyword" file.txt # 忽略大小写搜索 grep -r "keyword" /path # 递归搜索指定目录下所有文件
3. 修改文件内容(改)
文本编辑器(直接编辑文件内容)
vi file.txt # 使用vi编辑器(经典编辑器) vim file.txt # 使用vim编辑器(vi的增强版,支持语法高亮) nano file.txt # 简单易用的文本编辑器(适合新手)
sed
:非交互式修改文件内容(适合批量替换)sed -i 's/old_str/new_str/' file.txt # 将文件中第一个old_str替换为new_str sed -i 's/old_str/new_str/g' file.txt # 全局替换(所有old_str都替换)
4. 删除文件(删)
rm
:删除文件rm file.txt # 删除文件(会提示确认) rm -f file.txt # 强制删除文件(不提示,慎用!) rm -f *.txt # 强制删除所有.txt文件
5. 复制 / 移动 / 重命名文件(改)
cp
:复制文件或目录cp source.txt dest.txt # 复制文件到指定路径(可重命名) cp source.txt /target/dir/ # 复制文件到目标目录(文件名不变) cp -r dir1 /target/dir2 # 递归复制目录(包括子文件和子目录)
mv
:移动或重命名文件(与目录操作逻辑一致)bash
mv oldname.txt newname.txt # 重命名文件 mv file.txt /target/dir/ # 将文件移动到目标目录
三、其他常用命令
file
:查看文件类型file filename # 例如输出:filename: UTF-8 Unicode text
du
:查看文件 / 目录大小du -h file.txt # 显示文件大小(人性化格式) du -sh dirname # 显示目录总大小(-s表示汇总)
find
:查找文件或目录(按名称、类型、大小等)find /path -name "*.txt" # 在/path下查找所有.txt文件 find /path -type d -name "dir*" # 查找名称以dir开头的目录 find /path -size +10M # 查找大于10M的文件
四、文件和目录操作
cd:用于切换当前工作目录。可以通过绝对路径或相对路径指定目标目录。
cd /home
进入/home
目录。cd ..
返回上一级目录。cd ../..
返回上两级目录。cd /
返回根目录。cd -
返回上次所在目录。
mkdir:创建新目录。
mkdir <目录名>
创建单个目录。mkdir dir1 dir2
同时创建多个目录。mkdir -p /tmp/dir1/dir2
递归创建多级目录树。
rmdir/rm:删除空目录或文件。
rmdir dir1
删除名为dir1
的空目录。rm -f file1
强制删除文件file1
。rm -rf dir1
删除非空目录及其内容。rm -rf dir1 dir2
同时删除两个目录及其内容。
1. 路径和文件查看
pwd:显示当前工作目录的完整路径。
ls:列出目录中的文件和子目录。
ls
列出当前目录下可见的文件和子目录名称。ls -l
显示详细的文件属性信息,包括权限、所有者、大小等。ls -a
列出所有文件,包括隐藏文件(以.
开头的文件)。ls -lh
使用更易读的方式显示文件大小和其他详细信息。ls -lSr
按照文件大小降序排列并显示详细信息。tree
展示目录结构的树状图(需安装工具yum install tree
或apt-get install tree
)ls -R
递归列出当前目录及其子目录下的所有文件ls -al /proc/pid/exe
查询进程 ID 对应的可执行程序路径。
2. 文件复制与移动
cp:复制文件或目录。
cp source_file dest_dir
将源文件复制到目标目录cp -r src_dir dest_dir
复制整个目录及其内容
mv:重命名或移动文件/目录。
mv old_name new_name
修改文件名或目录名mv file_or_dir target_path
移动文件或目录至其他位置
3. 权限管理
对于文件的所有者,又分为3类:
user(属主) group(属组) other(其他用户)
读(r) 写(w) 执行(x)
- chmod/chown:修改文件或目录的访问权限以及所有权。
chmod u+x script.sh
给脚本增加用户可执行权限chown user:group filename
更改文件所属用户及组
4. 文本处理
- cat/tac/more/less/head/tail:文本查看器。
cat file.txt
输出文件内容tac file.txt
反向输出文件内容more file.txt
分页浏览大文件内容less file.txt
类似于 more,支持上下翻阅head -n file.txt
查看前 n 行,默认为前十行tail -n file.txt
查看最后 n 行,默认为最后一十行
5. 系统状态监控
- ps/top/free/df/netstat/ifconfig/ip:系统资源监视。
ps aux | grep processname
查找特定进程的信息top
实时动态展示 CPU 和内存占用情况free -h
显示系统的内存使用状况df -h
显示磁盘空间使用情况netstat -anptu
查看网络连接状态ifconfig
或ip addr show
查看网卡配置信息