linux与shell 3.bash shell基础
通配符
| 符号 | 含义 |
|---|---|
| ? | 任意单个字符 |
| * | 0个或多个字符 |
| [ay] | a或y |
| [a-y] | a,b,c,...,y |
| [!a] | 排除a |
例:
$ touch fall fell full fill
$ ls -l f[!a]ll
fell full fill
文件
创建
touch file_name
复制
cp sources destination
cp file_name_1 file_name_2 强制覆盖
-i 覆盖时询问(-i)
cp file_name_1 /home/documents/ 最后一个‘/’很重要,表明是一个目录。否则若documents/不存在,将会将复制的file_name_1命名为documents,且没有报错
cp -R documents/ newdocuments/ 创建newdocuments/(-R的作用),并将documents复制
重命名 、 移动
mv file_name_1 file_name_2
不改变inode和时间戳,原文件不见了(相当于剪切)
删除
rm
-i 提示是否删除
-f 强制删除
-r 向下进入目录,删除其中文件再删除本身
链接文件
软连接
ln -s test_file slink_test_file
2者是不同的文件,iNode不同,大小不同
硬链接
ln test_file hlink_test_file
2者是相同的文件,iNode相同,大小相同,需要位于同一个储存设备
例
┌──(kali㉿DESKTOP-FQ0BCLS)-[/mnt/e/Edgedownload]
└─$ touch file1
┌──(kali㉿DESKTOP-FQ0BCLS)-[/mnt/e/Edgedownload]
└─$ ln -s file1 file2
┌──(kali㉿DESKTOP-FQ0BCLS)-[/mnt/e/Edgedownload]
└─$ ls -li file*
1125899906974430 -rwxrwxrwx 1 root root 0 Dec 25 15:47 file1
844424930263775 lrwxrwxrwx 1 root root 5 Dec 25 15:47 file2 -> file1
┌──(kali㉿DESKTOP-FQ0BCLS)-[/mnt/e/Edgedownload]
└─$ sudo rm -i file*
[sudo] password for kali:
rm: remove regular empty file 'file1'?
rm: remove symbolic link 'file2'?
查看文件内容
file file_name 查看文件类型
cat file_name 显示文本文件
-n 行号
-b 仅文本显示行号
more file_name
less file_name 都是显示大文件
head file_name 显示开头10行
-n 2 显示开头2行
tail file_name 显示末尾10行
-n 2 显示末尾2行
-f 允许其他进程使用此文件时查看文件,可用于实时检测系统日志
目录
ls 列出文件或目录
-F 区分文件和目录 (/ 目录,* 可执行文件)
-a 显示隐藏文件
-R 列出所有子目录及其中文件
-l 目录中内容的详细信息
-ld 当前目录的详细信息
-i inode编号,每个对象的唯一标识
mkdir 创建目录
mkdir -p dir1/dir2/dir3 创建一系列目录
rmdir 只能删除空目录
rm -rf 强制删除目录所有内容

浙公网安备 33010602011771号