基础命令:资料来源:杭州电子科技大学周旭老师的课程资料(无pdf,只能在线观看)
cd
切换工作目录
cd / 根目录
cd ~主目录
在计算机系统中,"主目录"或者称为"home目录",是每个用户账户默认的、个人的工作目录。当你登录到系统时,如果没有指定其他目录,shell(命令行界面)会将你放置在你的主目录中。
对于不同的用户,主目录的位置可能不同,但通常遵循以下模式:
- 在Linux和Unix系统中,主目录通常位于
/home/用户名
,例如,如果用户名是bill
,那么他的主目录就是/home/bill
。 - 在macOS中,主目录通常是
/Users/用户名
。 - 在Windows中,主目录可能是
C:\Users\用户名
。
cd ~
命令的作用是切换当前工作目录到当前用户的主目录。这里的~
符号是一个快捷方式,代表当前用户的主目录。如果你是root用户,~
则指向/root
目录;如果是普通用户bill
,~
则指向/home/bill
或相应的主目录位置。
cd - 返回前一次目录
pwd
查看当前工作目录的完全路径,即绝对路径。
pwd -P
pwd默认显示链接路径
ls
cp
cp 命令要先写源(SOURCE),再写目的(DEST)。复制文件的时候,如果源是文件,目的是已存在的目录,则表示在目的目录中创建源文件的同名副本;如果目的包含文件名,则创建副本文件时使用指定文件名。
在命令行执行 cp 命令的时候,如果目标文件已经存在,则询问是否覆盖。但是在 Shell脚本中执行 cp 命令时,必须使用"-i”选项才会询问是否覆盖。如果使用“-n”选项就不会覆盖已存在文件。可见命令行和 Shel 脚本的执行方式有所不同。如果"-i”和"-n”两个选项都出现,则以后面出现的选项为准。
复制目录的时候,必须使用“-r”选项,或者“--recursive”选项,否则 cp 命令会忽略目录。如果目的目录已经存在,则在目的目录中创建源目录的副本,包括目录的层次结构否则就是创建源目录的副本且以指定目录名命名。在示例3.21 中,如果/bak 目录已经存在则在/bak 目录下创建 log 目录的副本 ,否则在根目录下创建log 目录的副本,且命名为 bak。
-p可以保持与源文件相同的时间戳,访问者和访问权限。
复制的3种写法(要结合具体情况)
-s可以创建链接。等价于ln -s
touch
改变当前时间戳。-a 访问时间 -m 修改时间 。
创建10个空文件。
touch file{1..10} 添加-c可以创建不为空的文件
mv
移动文件或者将文件重命名。
mkdir:创建目录命令
rmdir 删除空目录
用户必须对父目录有写权限。
rm:删除文件或目录
rm -r带r删除目录
cp命令:带r拷贝目录
rm -rf /*删库跑路命令
ln 创建文件链接
默认硬链接(i节点一样)内容相同,修改同时。实际为同文件。
-s:软链接
crtl+d:结束输入。
ln -s:符号链接共享。
区别:ls -il file列出详细信息。
在尝试删除文件的时候会出问题。如果file2链接到file1,删除file1不会影响file2.软链接对文件数量没有影响。文件的权限以连接到的文件为准。
file 命令
识别文件类型和编码格式。不带有选项,可使用通配符来表示多个文件。file *:显示所有文件类型。file -b只显示文件类型。
type检测命令
别名,关键字,保留字,函数,内置命令,磁盘文件。
tpye -t :简洁。cat:外置命令。cd 内置命令 for 保留字 ls:别名
stat 查看文件属性 大小/权限
stat -f file1 不显示文件信息,显示分区信息。
rw-rw-r--:664用stat如何获取?
sed,cut,awk,grep(备选)
考虑命令本身是否有选项可以用(推荐)
stat -c %a file1:664
find命令
文件系统中进行查找
?什么是文件系统
/ 根目录
绝对路径:/home/stu01/myfile1
相对路径:~/report.gz.tar
以当前路径为参照,使用.(当前位置)或者..(上级位置)~用户主目录
find 起始位置 选项
find ./user01/ -name file1.doc
数值以BYTES 默认 512字 +1000=500kb +30最后访问时间超过30天。
-ok询问用户是否同意
find ~/Bill ~/Dennis -size +1000 -atime +30 -ok rm {} \;
-
-size +1000
: 这个选项用于过滤文件大小,+1000
意味着只查找那些大小超过1000块(block)的文件。注意,这里的单位是块,不是字节,每个块的大小默认取决于文件系统的设置,通常为512字节、1024字节或4096字节。 -
-atime +30
: 这个选项用于过滤访问时间,+30
意味着只查找那些在30天前被最后访问过的文件。 -
-ok rm {} \;
: 这是一个交互式操作。-ok
会询问用户是否真的要执行接下来的操作,这里的操作是rm {} \;
,其中{}
会被替换为找到的文件名,\;
是find
命令中的结束符,表示一个动作的结束。
所以,整个命令的意思是:在~/Bill
和~/Dennis
目录下,查找所有大于1000块且在30天前被最后访问的文件,并在执行删除之前询问用户确认。如果用户确认,那么这些文件将被删除。