ls
英文全拼:list files
用于显示指定工作目录下之内容(文件及子目录)
-a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r 将文件以相反次序显示(原定依英文字母次序)
-t 将文件依建立时间之先后次序列出
-A 同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
-F 在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
-R 若目录下有文件,则以下之文件亦皆依序列出
常用案例:
列出目录下全部文件及子目录,包括隐藏文件(.开头)
ls -al
列出目录下以 s 开头的文件
ls -l s*
mv
为文件或目录改名、或将文件或目录移入其它位置
mv [options] source dest
mv [options] source... directory
-b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
-i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
-f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
-n: 不要覆盖任何已存在的文件或目录。
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
cp
复制文件或目录
cp [options] source dest
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
mkdir
创建目录
mkdir [dirName]
mkdir -p dir1/dir2/dir3
rm
删除目录
rm [options] dirName/
-f:忽略不存在的文件,强制删除,无任何提示
-r:递归式地删除列出的目录下的所有目录和文件
which
查找指令文件的所在位置
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
which [文件...]
常用案例:
查找mysql可执行文件的位置
which mysql
vi / vim
vi:老式的文字编辑器
vim:从vi发展起来的代码编辑器
三种模式:命令模式、输入模式、底线命令模式
刚进入编辑器时,即为命令模式,此时可以使用以下的常用命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
在命令模式时按下 i 进入输入模式,此时即可进行常规的文字/代码编辑。
在输入模式时,按下 ESC 返回命令模式。
在命令模式时按下 : 就进入了底线命令模式,此时可以使用以下的常用命令:
q 退出程序
w 保存修改结果
wq 保存并退出
w! 尝试对只读文件强制保存
q! 放弃更改,强制退出
在底线命令模式时,按下 ESC 返回命令模式。
systemctl
systemctl是 Systemd 的主命令,用于管理系统及服务。
systemctl命令兼容了service命令
重启系统
$ sudo systemctl reboot
关闭系统,切断电源
$ sudo systemctl poweroff
启动mysql
systemctl start mysql
查看当前mysql服务的状态
systemctl status mysql
zip
压缩文件
压缩test.txt
zip test1.zip test.txt
将当前目录下的所有文件和文件夹全部压缩成test.zip文件
-r表示递归压缩子目录下所有文件
zip -r test.zip ./*
打包目录
zip test2.zip test2/*
删除压缩文件test1.zip中test.txt文件
zip -d test1.zip test.txt
向压缩文件中test1.zip中添加test.txt文件
zip -m test1.zip test.txt
unzip
解压缩文件
在当前目录下解压缩
unzip test.zip
将压缩文件text.zip在指定目录/tmp下解压缩
unzip test.zip -d /tmp