Linux操作系统常用命令(一)
几个超级简单的命令
-date :显示当前系统的日期和时间
jamin@jamin:~$ date
2020年 08月 27日 星期四 14:41:58 CST
-cal:打印当月日历
jamin@jamin:~$ cal
八月 2020
日 一 二 三 四 五 六
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
-df:查看磁盘驱动器当前的可用空间
jamin@jamin:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 1976820 0 1976820 0% /dev
tmpfs 401588 1968 399620 1% /run
/dev/sda1 20509264 9831444 9612964 51% /
tmpfs 2007928 0 2007928 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 2007928 0 2007928 0% /sys/fs/cgroup
/dev/loop4 56320 56320 0 100% /snap/core18/1880
...
-free:查看可用内存
jamin@jamin:~$ free
total used free shared buff/cache available
Mem: 4015856 1399932 1779172 17408 836752 2349576
Swap: 969960 0 969960
系统树
pwd:查看当前的工作路径
jamin@jamin:~$ pwd
/home/jamin
ls:列出目录内容
ls命令常用的选项
-a :列出所有文件,包括以点号开头的文件;
-d :通常,如果指定一个目录,ls命令会列出目录中的内容而不是目录本身。将-d与-l结合使用,可查看目录的详细信息而不是目录的内容;
-F :在每个所列出的名字后面加上类型指示符(if为目录名,则加一个斜杠);
-h :以长格式列出,以人们可读的方式而不是字节数来显示文件的大小;
-l :使用长格式显示结果;
-r :以相反的顺序显示结果(通常ls命令是按照字母升序排列显示的);
-S :按文件大小排列显示;
-t :按修改时间排列显示。
jamin@jamin:~$ ls -a
. .bashrc Documents .ICEauthority Music Public Templates .vscode
.. .cache Downloads jamin Pictures snap Videos
.bash_history .config examples.desktop .local .pki .ssh VMwareTools-10.3.10-13959562.tar.gz
.bash_logout Desktop .gnupg .mozilla .profile .sudo_as_admin_successful vmware-tools-distrib
jamin@jamin-virtual-machine:~$ ls -d jamin
jamin
jamin@jamin-virtual-machine:~$ ls -d -l jamin
drwxr-xr-x 4 jamin jamin 4096 7月 23 18:20 jamin
jamin@jamin:~$ ls -F
Desktop/ Downloads/ jamin/ Pictures/ snap/ Videos/ vmware-tools-distrib/
Documents/ examples.desktop Music/ Public/ Templates/ VMwareTools-10.3.10-13959562.tar.gz
file:确定文件类型
file filename
jamin@jamin:~$ file jamin
jamin: directory
jamin@jamin:~$ file examples.desktop
examples.desktop: UTF-8 Unicode text
jamin@jamin:~$ file VMwareTools-10.3.10-13959562.tar.gz
VMwareTools-10.3.10-13959562.tar.gz: gzip compressed data, last modified: Thu Jun 13 12:03:34 2019, from Unix
less:查看文件内容
less filename
less命令:
命令 | 功能 |
---|---|
PAGE UP 或 b | 后翻一页 |
PAGE DOWN 或 Spacebar | 前翻一页 |
向上箭头键 | 向上一行 |
向下箭头键 | 向下一行 |
G | 跳转到文本文件的末尾 |
1G 或 g | 跳转到文本文件的开头哦 |
/characters | 向前查找指定的字符串 |
n | 向前查找下一个出现的字符串,这个字符串是之前指定查找的 |
h | 显示帮助屏幕 |
q | 退出less |
操作文件与目录
通配符(未理解)
表1 通配符
通配符 | 匹配项 |
---|---|
* | 匹配任意多个字符(包括0个和1个) |
? | 匹配任一单个字符(不包括0个) |
[characters] | 匹配任意一个属于字符集中的字符 |
[!characters] | 匹配任意一个不属于字符集中的字符 |
[[:class:]] | 匹配任意一个属于指定字符类中的字符 |
表2 常用的字符类
字符类 | 匹配项 |
---|---|
[:alnum:] | 匹配任意一个字母或数字 |
[:alpha:] | 匹配任意一个字母 |
[:digit:] | 匹配任意一个数字 |
[:lower:] | 匹配任意一个小写字母 |
[:upper:] | 匹配任意一个大写字母 |
表3 通配符示例
通配符 | 匹配项 |
---|---|
g* | 以g开头的任一文件 |
b*.txt | 以b开头,中间有任意多个字符的TXT文件 |
Data??? | 已Data开头,后面跟3个字符的任一文件 |
[abc]* | 以abc中的任一开头的任一文件 |
BACKUP.[0-9][0-9][0-9] | 以BACKUP.开头,后面紧跟3个数字的任一文件 |
[![:digit:]]* | 不以数字开头的任一文件 |
*[[:lower:]123] | 以小写字母或者数字1、2、3中的任一个结尾的任一文件 |
[[:upper:] ]* | 以大写字母开头的任一文件 |
cp:复制文件和目录
cp命令用来复制文件和目录。它有2种不同的使用方式。
表4 cp命令选项
选项 | 含义 |
---|---|
-a, --archive | 复制文件和目录及其属性,包括所有权和权限。通常来说,复制的文件具有用户所操作文件的默认属性 |
-i, --interactive | 在覆盖一个已存在的文件前,提示用户进行确认。如果没有指定该选项,cp会默认覆盖文件 |
-r, --recursive | 递归地复制目录及其内容。复制目录是需要这个选项(或-a选项) |
-u, --update | 当将文件从一个目录复制到另一个目录是,只会复制那些目标目录中不存在的文件或是目标目录相应文件的更新文件 |
-v, --verbose | 复制文件时,显示信息性消息 |
表5 cp命令示例
命令 | 结果 |
---|---|
cp file1 file2 | 将file1复制到file2.如果file2存在,则会被file1的内容覆盖掉。如果file2不存在,则创建file2 |
cp -i file1 file2 | 同上,区别在于当file2存在时,覆盖之前通知用户确认 |
cp file1 file2 dir1 | 将file1和file2复制到目录dir1里,dir1必须已经存在 |
cp dir1/* dir2 | 通过使用通配符,将dir1中的所有文件复制到dir2中,dir2必须已经存在 |
cp -r dir1 dir2 | 将dir1目录(及其内容)复制到dir2目录中。如果dir2不存在,创建dir2,且包含与dir1目录相同的内容 |
mv:移动或重命名文件
mv命令可以执行文件的移动和文件的重命名操作,这具体取决于如何使用它。在这2种情况下,完成操作之后,原文件名将不存在。mv的用法和cp基本相似。
表6 mv选项
选项 | 含义 |
---|---|
-i, --interactive | 覆盖一个已存在的文件之前,提示用户确认。如果没有指定该选项,mv默认覆盖 |
-u, --update | 将文件从一个目录移动到另一个目录,只移动那些目标目录中不存在的文件或是目标目录里相应文件的更新文件 |
-v, --verbose | 移动文件时显示信息性消息 |
表7 mv示例
命令 | 结果 |
---|---|
mv file1 file2 | 将file1移动到file2。如果file2存在,则会被file1的内容覆盖掉。如果file2不存在,则创建file2。anyway,file1不再存在 |
mv -i file1 file2 | 同上,区别在于当file2存在时,覆盖之前通知用户确认 |
mv file1 file2 dir1 | 将file1和file2移动到目录dir1里,dir1必须已经存在 |
mv dir1 dir2 | 将dir1目录(及其内容)移动到dir2目录中。如果dir2不存在,创建dir2,将dir1的内容移动到dir2,同时删除dir1 |
mkdir:创建目录
可创一个或者多个目录,语法:mkdir directory…
创单个jamin目录:
mkdir jamin
创多个目录:
mkdir jamin1 jamin2 jamin3
rm:移除文件和目录
rm命令是用来移除文件和目录的,当rm命令与通配符一起使用的时候要特别小心。不要删错了,一旦使用rm命令,就彻底删除了,是不可还原已删除文件的。
即使原档案属性设为唯读,亦直接删除,无需逐一确认。
表8 rm选项
选项 | 含义 |
---|---|
-i, --interactive | 删除前逐一询问确认。 |
-f, --force | 即使原档案属性设为唯读,亦直接删除,无需逐一确认。 |
-r, --recursive | 递归地删除目录。 即将目录及以下之档案亦逐一删除。 |
-v, --verbose | 删除文件时显示信息性消息 |
表9 rm示例
命令 | 结果 |
---|---|
rm file | 不在提示用户的情况下,直接删除file |
rm -i file | 删除file前,提示用户确认 |
rm -r file1 file2 | 删除file1 file2及其他们的内容 |
rm -rf file1 file2 | 同上,当file1或者dir1不存在时,rm仍会继续执行,且不提示用户 |
in:创建硬链接和符号链接
ln命令可用来创建硬链接和符号链接,有2中使用方式:
创建硬链接
ln file link
创建符号链接,这里的item可以是文件也可以试目录
ln -s item link
*硬链接
硬链接是最初UNIX用来创建链接的方式,符号链接较为之更先进。默认情况下,每个文件有一个硬链接,该硬链接会给文件起名字。当创建一个硬链接的时候,也为这个文件创建了一个额外的目录条目,硬链接有2条重要的局限性:
- 硬链接不能引用自身文件系统之外的文件。也就是说,链接不能引用与该链接不在同一磁盘分区的文件
- 硬链接无法引用目录
硬链接和文件本身没有什么区别,与包含符号链接的目录的列表不同,包含硬链接的目录列表没有特别的链接指示说明。当硬链接被删除时,只是删除了这个链接,但是文件本身的内容依旧存在,也就是说,该空间没有释放,除非该文件的所有链接都被删除。
*符号链接
符号链接是为了克服硬链接的局限性而创建的。符号链接是通过创建一个特殊类型的文件来起作用的,该文件包含了指向引用文件或者目录的文本指针。就从这点看,符号链接与Windows系统下的快捷方式非常相似,但是,符号链接要早于Windows 的快捷方式很多年。