文章目录
- Linux文件系统使用常用基础命令
- cd(change directory)切换当前工作目录
- pwd(print work directory)显示当前工作目录
- ls(list)列出目录
- Linux文件类型及权限
- file 辨识文件类型
- cat(concatenate)连接文件并打印到标准输出设备上
- cp(copy)复制文件或目录
- mv(move)移动或重命名文件和目录
- rm(remove)删除文件或目录
- mkdir(make directory)创建空目录
- touch创建新文件或者修改文件时间戳
- tree查看目录树(tree = ls -R)
- which查找命令所在的路径
- whereis查看命令所在的路径,源代码文件,帮助信息文件所在的文件
- more可以翻页查看文本文件内容
- less可以翻页查看文本文件内容
- head默认查看文件文件的前十行
- tail默认查看文本文件的后十行
Linux文件系统使用常用基础命令
ls cd pwd file cat cp mv rm mkdir touch tree which whereis more less head tail
cd(change directory)切换当前工作目录
命令格式 cd [dirName]
# 前往根目录
cd /
# 跳到/usr/bin/:
cd /usr/bin
# 跳到当前用户的家目录:
cd ~
# 跳到上层目录:
cd ../
# 返回进⼊此⽬录之前所在的⽬录
cd -
pwd(print work directory)显示当前工作目录
命令格式:pwd [--help][--version]
ubuntu@ubuntu:~$ pwd
/home/ubuntu
ls(list)列出目录
命令格式:ls [OPTION]... [FILE]...
OPTION位常用参数:
-l:以长格式显示
ubuntu@ubuntu:~$ ls -l test.txt
-rw-rw-r-- 1 ubuntu ubuntu 0 5月 28 22:00 test.txt
-h(--human-readable):为文件大小添加单位,常与-l一起使用
ubuntu@ubuntu:~$ ls -l -h /var/log/boot.log
-rw------- 1 root root 18K 5月 28 19:24 /var/log/boot.log
-a(--all):显示指定目录下所有文件(包括. .. 和文件名以.开始的隐藏文件)
ubuntu@ubuntu:~$ ls -a ./
. 模板 文档 桌面 .bashrc .gnupg .mysql_history .sudo_as_admin_successful
.. 视频 下载 .bash_history .cache .local .profile test.txt
公共的 图片 音乐 .bash_logout .config .mozilla snap .viminfo
-A(--almost-all):和-a相同,但是不显示.和..
ubuntu@ubuntu:~$ ls -A ./
公共的 图片 音乐 .bash_logout .config .mozilla snap .viminfo
模板 文档 桌面 .bashrc .gnupg .mysql_history .sudo_as_admin_successful
视频 下载 .bash_history .cache .local .profile test.txt
-R(--recursive):递归显示指定目录中的内容(一并显示子目录中所有内容)
ubuntu@ubuntu:~$ ls -R ./snap/
./snap/:
snap-store
./snap/snap-store:
558 common current
./snap/snap-store/558:
./snap/snap-store/common:
-r(--reverse):逆序显示目录内容
ubuntu@ubuntu:~$ ls -r ./
test.txt snap 桌面 音乐 下载 文档 图片 视频 模板 公共的
ubuntu@ubuntu:~$ ls ./
公共的 模板 视频 图片 文档 下载 音乐 桌面 snap test.txt
-i(--inode):显示文件所在的index number(index node)
ubuntu@ubuntu:~$ ls -i ./test.txt
1338288 ./test.txt
-d(--directory):显示目录本身的属性
ubuntu@ubuntu:~$ ls -ld ./mkdir_test/
drwxrwxrwx 2 ubuntu ubuntu 4096 5月 29 00:52 ./mkdir_test/
Linux文件类型及权限
使用ls -l以长格式显示文件列表,结果中前10位字符显示文件的类型和权限信息,例如-rwxrwxrwx。
第一位表示文件类型
-:代表普通文件(file)
d:代表目录(directory),文件夹
b:块设备(block),如硬盘、U盘等
c:字符设备(char),如键盘等
s:套接字文件(socket)
p:命名管道(pipe)
l:符号链接文件(symbolic link file )
第2位至第10位,表示文件的权限信息,三位一组权限,达标可读®、可写(w)、可执行(x)
2、3、4位:文件属主权限(owner)
5、6、7位:文件属组权限(group)
8、9、10位:其他用户权限(other)
file 辨识文件类型
命令格式:file [options] [args]
-b(--brief):在显示结果中不显示文件名(简洁模式)
ubuntu@ubuntu:~$ file ./test.txt
./test.txt: ASCII text
ubuntu@ubuntu:~$ file -b ./test.txt
ASCII text
-c(--checking-printout):显示执行file命令的执行过程(file是如何去判断文件类型),便于排错或分析file命令执行过程
ubuntu@ubuntu:~$ file -c ./test.txt
cont offset type opcode mask value desc
-i(--mime):输出MIME类型的字符串
MIME 类型,Multipurpose Internet Mail Extensions,称为多用途互联网邮件扩展类型,用来标识和记录文件的打开方式,一些常见的类型包括:
text/plain:普通文本。
text/html:HTML文本。
application/pdf:PDF文档。
application/msword:Word文档。
image/png:PNG图片。
mage/jpeg:JPEG图片。
application/x-tar:TAR文件。
application/x-gzip:GZIP文件。
ubuntu@ubuntu:~$ file -i ./test.txt
./test.txt: text/plain; charset=us-ascii
-f(--files-from) <file_name>:查看文件中文件名的类型
ubuntu@ubuntu:~$ cat test.txt
/etc
/etc/passwd
/var/mail
ubuntu@ubuntu:~$ file -f test.txt
/etc: directory
/etc/passwd: ASCII text
/var/mail: setgid, directory
-L(--dereference):查看软链接对应文件的类型
ubuntu@ubuntu:/var$ file /var/lock
/var/lock: symbolic link to /run/lock
ubuntu@ubuntu:/var$ file -L /var/lock
/var/lock: sticky, directory
-z(--uncompress):尝试显示压缩文件的内容,有资料显示仅支持gzip文件
ubuntu@ubuntu:~$ gzip -c test.txt > test.gz
ubuntu@ubuntu:~$ file -z test.gz
test.gz: ASCII text (gzip compressed data, was "test.txt", last modified: Sat May 28 15:13:31 2022, from Unix)
cat(concatenate)连接文件并打印到标准输出设备上
1、在shell中一次性查看整个文件,不支持翻页查看
cat在shell中查看大文件时,一次将所有内容打印在屏幕上,不支持翻页,可以使用more less等进行查看
命令格式:cat [options] [args]
-n:打印文件内容,并对每行进行编号,包括空行
ubuntu@ubuntu:~$ cat -n test.txt
1
2
3
4 /etc
5
6 /etc/passwd
7 /var/mail
-b:打印文件内容,除空行外,其他行进行编号
ubuntu@ubuntu:~$ cat -b test.txt
1 /etc
2 /etc/passwd
3 /var/mail
-S:当文件中有多个空行时,合并为一个空行
ubuntu@ubuntu:~$ cat -s test.txt
/etc
/etc/passwd
/var/mail
ubuntu@ubuntu:~$
-E:在显示内容时,结尾添加$符号
ubuntu@ubuntu:~$ cat -E test.txt
$
$
$
/etc$
$
/etc/passwd$
/var/mail$
2、将键盘输入的内容,输入到一个新文件,或添加到已有文件中
# 键盘输入内容,输入到新文件中
ubuntu@ubuntu:~$ cat > test2.txt << EOF # EOF: End Of File
> hello world!
> My name is LittelBoy.
> EOF
ubuntu@ubuntu:~$ cat test2.txt
hello world!
My name is LittelBoy.
# 键盘输入内容,添加到已有文件中
ubuntu@ubuntu:~$ cat >> test.txt << EOF
> hello world!
> My name is LittleBoy.
> EOF
ubuntu@ubuntu:~$ cat test.txt
/etc
/etc/passwd
/var/mail
hello world!
My name is LittleBoy.
3、将多个文件内容合并输出到一个新文件中
ubuntu@ubuntu:~$ cat test2.txt test.txt > test3.txt
ubuntu@ubuntu:~$ cat test3.txt
hello world!
My name is LittelBoy.
/etc
/etc/passwd
/var/mail
hello world!
My name is LittleBoy.
cp(copy)复制文件或目录
命令格式:cp [options] source dest或者cp [options] source... directory
-f(--force):强制复制文件或目录不进行提示
-R, -r(--recursive):递归复制目录,将目录下所有目录和文件进行复制
-b:覆盖已有的文件前,对目标文件进行备份
ubuntu@ubuntu:~$ ls test.* # 查看复制前文件
test.gz test.txt
ubuntu@ubuntu:~$ cp -b ./test_file/test.txt ./
ubuntu@ubuntu:~$ ls test.*
test.gz test.txt test.txt~ # 目标目录中,同名文件被备份,文件名末尾多了“~”
-s(--symbolic-link):为某个文件创建符号链接(软链接),而不是复制文件
ubuntu@ubuntu:~$ cp -s test.txt test.link
ubuntu@ubuntu:~$ ll test.*
-rw-rw-r-- 1 ubuntu ubuntu 54 5月 28 23:31 test.gz
lrwxrwxrwx 1 ubuntu ubuntu 8 5月 29 00:15 test.link -> test.txt
-rw-rw-r-- 1 ubuntu ubuntu 66 5月 29 00:12 test.txt
-rw-rw-r-- 1 ubuntu ubuntu 66 5月 28 23:50 test.txt~
-l(--link):为文件创建硬链接,而不是复制文件
-d:当复制软链接文件时,把目标文件或目录也会创建为软链接,并指向最原始的文件
-p:复制文件时保留文件的原有属性
mv(move)移动或重命名文件和目录
| 命令格式 | 执行效果 |
|---|---|
mv [option] src_file dest_file | 将源文件名 src_file 改为目标文件名 dest_file |
mv [option] src_file dest_dir | 将文件 src_file 移动到目标目录 dest_dir 中 |
mv [option] src_dir dest_dir | 目录名 dest_dir 已存在,将 src_dir 移动到目录名 dest_dir 中;目录名 dest_dir 不存在,则 src_dir 改名为目录名 dest_dir |
-f:强制覆盖,不进行提示
-i:覆盖目标文件时,进行询问
-b:移动前先对源文件进行备份
-t:将多个文件移动到一个目录中,注意!!!目标目录在前,文件在后
ubuntu@ubuntu:~$ ls ./test_file
ubuntu@ubuntu:~$ mv -t ./test_file test.txt test2.txt # 目标目录在前,文件在后
ubuntu@ubuntu:~$ ls ./test_file
test2.txt test.txt
rm(remove)删除文件或目录
命令格式:rm [options] file/dir ...
-f:强制删除,没有提示信息
-r:递归删除整个目录
-d:删除可能存在数据的目录
-i:删除前,进行询问
mkdir(make directory)创建空目录
-m(--mode):创建目录时同时设置权限
ubuntu@ubuntu:~$ mkdir -m 777 ./mkdir_test
ubuntu@ubuntu:~$ ll -d ./mkdir_test/
drwxrwxrwx 2 ubuntu ubuntu 4096 5月 29 00:52 ./mkdir_test//
-p(--parents):递归创建新目录
ubuntu@ubuntu:~$ mkdir -p ./mkdir_test/test/1/2/3
ubuntu@ubuntu:~$ tree ./mkdir_test/
./mkdir_test/
└── test
└── 1
└── 2
└── 3
-v(--verbose):显示创建目录的过程
touch创建新文件或者修改文件时间戳
-a:只改变访问时间
-c:不创建文件
-d:使用指定时间戳创建新文件,而不是使用系统时间
-t:使用指定格式时间戳创建新文件,而不是使用系统时间
-f:解决与BSD系列Unix系统兼容性
-m:只更改变动时间
tree查看目录树(tree = ls -R)
需要安装,sudo apt install tree
ubuntu@ubuntu:~$ tree ./mkdir_test/
./mkdir_test/
└── test
└── 1
└── 2
└── 3
which查找命令所在的路径
whereis查看命令所在的路径,源代码文件,帮助信息文件所在的文件
-b:只查看文件所在的位置(等同于which命令)
-m:只查看帮助信息所在的位置
-s:支持看源代码所在的位置
more可以翻页查看文本文件内容
enter键:向下翻一行
空格键:向下翻一屏
ctrl+b:向上翻一屏
ctrl+f:向下翻一屏
=:显示当前的行号
v:调用vi编辑器
!command:调用shell执行命令
q:退出more命令
more [+num] file_name //从num行开始查看文件内容
ubuntu@ubuntu:~$ more +6 test.txt~
/etc/passwd
/var/mail
hello world!
My name is LittleBoy.
less可以翻页查看文本文件内容
enter键:向下翻一行
空格键:向下翻一屏
pagedown:向下翻一屏
pageup:向上翻一屏
上下方向键:向上/向下翻一行
/word:在该文件中查找word关键字
n:查找下一个
N:查找上一个
head默认查看文件文件的前十行
-n:查看文件文件前n行
ubuntu@ubuntu:~$ head -5 test.txt~
/etc
tail默认查看文本文件的后十行
-n:查看文本文件的后n行
-f:动态查看文本文件内容,如动态查看日志: tail -f /var/log/messages
本文详细介绍Linux系统中的常用基础命令,包括目录操作、文件查看、权限管理等,适用于初学者快速入门。
3415

被折叠的 条评论
为什么被折叠?



