shutdown -h 18:00 #指定系统时间18:00的时候关机
shutdown -h +10 #10分钟以后关机
shutdown -h now #现在关机
halt #立即关机
poweroff #立即关机
shutdown -c #取消关机
reboot #重启Linux
#快捷键
ctrl+c #终止正在执行的指令
ctrl+a #回到命令开始
ctrl+e #回到命令结尾
ctrl+u #清空命令行
ctrl+l #清屏(相当于命令clear)
tab #提示
#uname用于显示当前系统的信息
uname -r #显示系统的版本与内核信息
uname -a #显示系统的名称
uname -r 4.4.0-151-generic
uname -a Linux shiKya 4.4.0-151-generic #178-Ubuntu SMP Tue Jun 11 08:30:22 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
root@shiKya:~#
其中:
root:代表用户名
shiKya :代表主机名
~后面的东西表示当前的工作路径
如果是~# :代表是超级管理员(即root)在使用操作系统
是~$:代表是普通用户在使用操作系统
apt工具(是Ubuntu默认的下载工具)
apt-cache showsrc 包名 #查看软件包信息
apt-get source 包名 #获得源码
apt-get update #更新apt-get工具
apt-get upgrade #更新可能用到的软件包
apt-get install 包名 #安装软件
apt-get remove 包名 #删除软件
注意:以上指令执行后提示权限不够的话,要在前面加sudo 例:sudo apt -get install 包名(root用户是整个操作系统中权限最高的用户,一般root用户的权限是默认停用的。所有的和操作系统相关的指令都需要使用sudo指令来执行,一般执行sudo需要输入密码)
内置的目录名
bin:存放常见的命令
boot:存放系统的启动文件和核心文件
dev:存放外部设备文件(包括硬盘、光驱、键盘、鼠标)
etc:存放系统的配置文件
home:普通用户的家目录,在终端中用“~”表示
root:超级管理员目录
var:包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是经常变化或扩充的
usr:用户的软件安装到这个目录下
usr下的子目录:
bin:应用程序可执行文件
sbin:用户或者超级管理员的标准指令
local:管理员安装程序的目录
share:共享目录
1)ls(列出某个目录下的文件或者子目录
格式:ls [参数1] [参数2]
参数2表示要列出的文件或目录的路径
ls -l 以列表的形式显示当前目录下的子目录或者文件
ls -a 显示所有文件及目录(包含有隐藏文件)
ls -r 将文件以相反次序显示(原定依英文字母次序)
ls -t 将文件依建立时间的先后次序列出
ls -R 若目录下有文件,则以下之文件也会依照层级列出
例:
列出根目录下的etc目录下的所有名称是s开头的文件,越新的越排后面
ls -ltr s* (l:列表形式,t:按时间先后排序,r:倒叙)
ls -lR /bin (将 /bin目录以下所有目录及文件详细资料列出)
total 24
drwxr-xr-x 3 root root 4096 Dec 12 10:26 ./
drwx------ 37 root root 4096 Feb 16 09:52 ../
-rw-r--r-- 1 root root 68 Oct 26 16:31 code.txt
-rw-r--r-- 1 root root 2247 Dec 12 10:26 dp.log
drwxr-xr-x 8 root root 4096 Oct 26 16:45 .git/
-rw-r--r-- 1 root root 16 Oct 26 16:13 README.md
例如:drwxr-xr-x 3 root root 4096 Dec 12 10:26 ./
**第1部分:第1位**
第1位表示文件的类型, d表示这个文件是目录,
-表示是普通文件
l表示是一个软连接
**第2部分:第2-10位**
第2-10位代表权限,文件有三种权限,分别是读写与执行(即rwx)
每3位为一组,总共3组
第2-4位代表文件所有者(ower)对该文件的权限
第5-7位代表文件所有者所在的用户组对该文件的权限
第8-10位代表其他用户对当前文件的权限
每一组中有3个位,读、写和执行
这3个位中的第1个位的取值可以是r或者-(取r代表可读,取-代表没有读的权限)
这3个位中的第2个位的取值可以是w或者-(取w代表可写,取-代表没有写权限)
这3个位中的第3个位的取值可以是x或者-(x代表可执行,-代表没有执行的权限)
**第3部分:**
数字代表这个文件的链接数
**第4部分:**
代表该文件的所有者,此处即为root
**第5部分:**
代表该文件所有者所在的用户组,此处即为root
**第6部分:**
数字代表该文件或者目录的大小
**第7部分:**
文件创建的日期
**第8部分:**
文件或者目录名
ll相当于ls -al 以列表的形式显示某目录下的所有文件或目录 (包括隐藏文件或目录)
白色代表普通文件,蓝色代表是一个目录,绿色代表是一个可执行的文件或者目录,红色代表是压缩文件,青色代表是软链接,黄色代表设备文件,灰色代表其它文件
man 命令 :用于调取出其它命令的帮助文档
获取帮助文档后,由于内容可能过多,
f代表向后翻页,
回车、下的箭头键代表向下翻,一行一行的翻
b代表向上翻页,
向上的箭头键代表向上翻,一行一行的翻
g代表回到文档开头,shift+g代表回到文档结束
home键代表回到文档开始
q键代表退出当前说明文档
显示之前敲过的命令,最多显示1000条
硬链接相当于给文件起别名,软链接相当于给文件创建了一个快捷方式(文件数据块中存放的是另一种路径的指向 )
创建硬链接指令:link(或ln) 文件名 硬链接名
创建软链接指令:link(或ln)-s 文件名 软连接名
硬链接:
1)只能对已存在的文件创建硬链接
2)不能对目录创建硬链接,只能创建文件的硬链接
3)删除一个硬链接对源文件没有影响
4)删除源文件,硬链接创建的文件还是会存在,cat会有内容
软链接:
1)软链接是一个独立的文件,有自己的文件属性及权限
2)可以对不存在的文件或者目录创建软链接
3)删除软链接并不影响被指向的文件,但是源文件如果删除了,软链接会变成死链接,cat以后会提示No such file or directory
whereis mysql
# 此即查询mysql的安装位置,存在mysql这个软件包则返回:
mysql: /usr/bin/mysql /usr/lib/mysql /etc/mysql /usr/include/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
#不存在的话,则返回
mysql:
which mysql
# 存在则返回:
/usr/bin/mysql
# 不存在则什么也不返回返回
grep 文本搜索
语法:grep 参数 查找条件 文件名(注:是文件名,目录名下查找不行)
主要参数:
-i:不区分大小写(只适用于字母字符。)
-l:查询多文件时只输出包含匹配字符的 文件名。
-n:显示匹配行内容及行号。
ls -l|grep -i test #把ls -l的输出中包含字母test(不区分大小写)的内容输出 (如果查询的是目录可以使用正则表达式,但是文件不行)
-mtime +n : 列出在n天之前(不含n天本身)被更改过的文件名; -mtime -n : 列出在n天之内(含n天本身)被更改过的文件名;
find /root(路径) -mtime 0 : 在当前目录下查找今天之内有改动的文件
find -name 文件名 :找匹配的文件名
在某一文件中查找日志(比方方法login):可以vi打开日志文件,然后“/login”,enter,按 n 键向下继续搜索;
locate [-ir] keyword
选项与参数:
-i :忽略大小写的差异;
-r :后面可接正规表示法的显示方式
范例一:找出系统中所有与 passwd 相关的档名
[root@www ~]# locate passwd
/etc/passwd
/etc/passwd-
/etc/news/passwd.nntp
/etc/pam.d/passwd
....(底下省略)....
a 显示所有用户的所有进程(包括其它用户)
-e 显示所有进程,环境变量f 用树形格式来显示进程;
ps -ef|grep java : 找出所有java进程
改变所属群组, chgrp
改变文件拥有者, chown
语法:chmod [options] mode files
options:-R 可递归遍历子目录,把修改应到目录下所有文件和子目录
who:u 用户 、 g 组 、o 其他 、a 所有用户
opcode:+ 增加权限 、 - 删除权限 、= 重新分配权限
permission: r 读 、w 写 、 x 执行
# chgrp [-R] dirname/filename ...
选项与参数:
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件、目录
都更新成为这个群组之意。常常用在变更某一目录内所有的文件之情况。
# chown [-R] 账号名称 文件或目录
# chown [-R] 账号名称:组名 文件或目录
选项与参数:
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都变更
我们多数用三位八进制数字的形式来表示权限,第一位指定属主的权限,第二位指定组权限,第三位指定其他用户的权限,每位通过4(读)、2(写)、1(执行)三种数值的和来确定权限。如6(4+2)代表有读写权,7(4+2+1)有读、写和执行的权限 .
chmod u+x file :给file的属主增加执行权限
chmod 751 file :给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
chmod u=rwx,g=rx,o=x file :上例的另一种形式
# tail [-n number] 文件
选项与参数:
-n :后面接数字,代表显示几行的意思
-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
[root@www ~]# tail /etc/man.config
# 默认的情况中,显示最后的十行!若要显示最后的 20 行,就得要这样:
直接检视文件内容:
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
nl 显示的时候,顺道输出行号!
可翻页检视:
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
数据撷取:
head 只看头几行 head -n file可以同时查看多个文件的前几行数据 head file1 file2
tail 只看尾巴几行
答案:单独一个/root分区足以执行所有的系统任务,但是强烈建议安装Linux时,需要至少三个分区:/root,/boot,/swap。一个IDE硬盘驱动器支持高达63个分区,SCSI硬盘驱动器支持超过15个分区。
为了检查启动信息,我们可以使用cat或者dmesg命令,如下所示:
#cat /var/log/messages
或者
#dmesg
FSCK 是一个很重要的Linux/Unix 工具,它用于检测并修复文件系统中的错误。
它可以进行三种模式的操作,
我们不应该用 fsck 检查已挂载的磁盘,这很可能会对磁盘造成永久性的伤害。因此在开始使用 fsck 之前,我们需要使用下面命令来卸载磁盘,
$ umount drivename
比如像这样,
$ umount/dev/sdb1
具体细节查看:https://www.linuxprobe.com/linux-fsck-command.html
在Linux的环境中,压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.bz2』
,相对应的命令有tar、gz、bz2。
gzip和bzip2主要用于单一文件的压缩,虽然 gzip 与 bzip2 也能够针对目录来进行压缩,不过,这两个命令对目录的压缩指的是『将目录内的所有文件 "分别" 进行压缩』的动作! 而不像在 Windows 的系统,可以使用类似 WinRAR 这一类的压缩软件来将好多数据『包成一个文件』的样式。
首先介绍一下gzip命令。
gzip 可以说是应用度最广的压缩命令!
gzip 可以解开 compress, zip 与 gzip 等软件所压缩的文件。
gzip 所创建的压缩文件后缀为 *.gz。
# gzip [-cdtv#] 文件名
选项与参数:
-c :将压缩的数据输出到萤幕上,可透过数据流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩文件的一致性~看看文件有无错误;
-v :可以显示出原文件/压缩文件的压缩比等信息;
-# :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6
# 当你使用 gzip 进行压缩时,在默认的状态下原本的文件会被压缩成为 .gz 的文件, 原始文件就不再存在了。
# 与 gzip 相反, gzip -d 会将原本的 .gz 删除,产生原本的文件。
cat 可以读取纯文字文件,zcat 则可以读取纯文字文件被压缩后的压缩文件!
zcat 文件名.gz
文件是文字文件,可将该压缩文件的内容读出来!
若说 gzip 是为了取代 compress 并提供更好的压缩比而成立的,那么 bzip2 则是为了取代 gzip 并提供更佳的压缩比而来的。
bzip2 的用法几乎与 gzip 相同。
bzcat功能和用法和zcat相同。
[root@www ~]# bzip2 [-cdkzv#] 文件名
[root@www ~]# bzcat 文件.bz2
选项与参数:
-c :将压缩的过程产生的数据输出到萤幕上!
-d :解压缩的参数
-k :保留原始文件,而不会删除原始的文件喔!
-z :压缩的参数
-v :可以显示出原文件/压缩文件的压缩比等信息;
-# :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快
[root@www ~]# tar [-j|-z] [cv] [-f 创建的文件名] filename... <==打包与压缩
[root@www ~]# tar [-j|-z] [tv] [-f 创建的文件名] <==查看文件名
[root@www ~]# tar [-j|-z] [xv] [-f 创建的文件名] [-C 目录] <==解压缩
选项与参数:
-c :创建打包文件,可搭配 -v 来察看过程中被打包的文件名(filename)
-t :查看打包文件的内容含有哪些文件名,重点在查看『文件名』就是了;
-x :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开
特别留意的是, -c, -t, -x 不可同时出现在一串命令列中。
-j :通过 bzip2 的支持进行压缩/解压缩:此时文件名最好为 *.tar.bz2
-z :通过 gzip 的支持进行压缩/解压缩:此时文件名最好为 *.tar.gz
-v :在压缩/解压缩的过程中,将正在处理的文件名显示出来!
-f filename:-f 后面要立刻接要被处理的文件名!建议 -f 单独写一个选项罗!
-C 目录 :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
其他后续练习会使用到的选项介绍:
-p :保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
-P :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
--exclude=FILE:在压缩的过程中,不要将 FILE 打包!
其实最简单的使用 tar 就只要记忆底下的方式即可:
1) 压 缩:tar -jcv -f filename.tar.bz2
要被压缩的文件或目录名称
2) 查 询:tar -jtv -f filename.tar.bz2
3) 解压缩:tar -jxv -f filename.tar.bz2 -C
欲解压缩的目录其中filename.tar.bz2
是我们自己取的文件名,tar 并不会主动的产生创建的文件名,所以扩展名就显的很重要了!
如果不加 [-j|-z]
的话,文件名最好取为 *.tar
即可。如果是 -j
选项,代表有 bzip2 的支持,因此文件名最好就取为 *.tar.bz2
;如果是加上了-z
的 gzip 的支持,那文件名最好取为*.tar.gz
!
假设我们想要打包 /etc/ root 这几个重要的目录,但却不想要打包 /root/etc* 开头的文件, 因为该文件都是刚刚我们才创建的备份文件!而且假设这个新的打包文件要放置成为 /root/system.tar.bz2,当然这个文件自己不要打包自己,此时我们可以通过--exclude
(不包括)来实现:
[root@www ~]# tar -jcv -f /root/system.tar.bz2 --exclude=/root/etc* \
> --exclude=/root/system.tar.bz2 /etc /root
zip -r filename.zip filesdir
在这个例子里,filename.zip 代表你创建的文件,filesdir 代表你想放置新 zip 文件的目录。-r 选项指定你想递归地(recursively)包括所有包括在 filesdir 目录中的文件。
你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:
zip -r filename.zip file1 file2 file3 /usr/work/school
上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。
1.功能作用:解压缩zip文件
2.位置:/usr/bin/unzip
3.格式用法:unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
4.主要参数
5.应用实例
1、把文件解压到当前目录下
unzip test.zip
2、如果要把文件解压到指定的目录下,需要用到-d参数。
unzip -d /temp test.zip
3、解压的时候,有时候不想覆盖已经存在的文件,那么可以加上-n参数
unzip -n test.zip
unzip -n -d /temp test.zip
4、只看一下zip压缩包中包含哪些文件,不进行解压缩
unzip -l test.zip
5、查看显示的文件列表还包含压缩比率
unzip -v test.zip
6、检查zip文件是否损坏
unzip -t test.zip
7、将压缩文件test.zip在指定目录tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件
unzip -o test.zip -d /tmp/
https://blog.csdn.net/tubby__/article/details/104338294
https://blog.csdn.net/hustlinevan/article/details/37575185