Linux操作系统知识点(上)

Linux操作系统知识点(上)

【1】嵌入式系统
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件
可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求
的专用计算机系统。

【2】四个重要人物
肯.汤姆森 AT&T,贝尔实验室,发明B语言、发明了UNIX操作系统、发明了C语言
丹尼斯.里奇 C语言之父、UNIX之父
理查德.斯托曼 自由软件之父
林纳斯.托瓦兹 linux之父

【3】查看ubuntu版本
cat /etc/issue
Linux内核版本查看
uname -r

【4】Linux支持多用户、多任务模式运行

【5】开启一个终端
直接点击终端的图标
ctrl+alt+t 开启一个终端
ctrl+shift+n 在已有的终端下,开启一个同路径的终端
ctrl+shift+t 在已有的终端下,左右分屏开启一个终端
关闭一个终端
exit
ctrl+d
命令行提示符
linux@ubuntu:~$
linux 用户名
ubuntu 主机名
~:路径
~ 当前用户的家目录
/ 表示根目录
cd / 进入根目录 cd 或者cd ~ 进入家目录
$:表示用户的权限
$:普通用户权限
#:root用户(管理员)权限
sudo su root 切换到root用户
使用exit返回上一个用户
【6】linux命令
1 – ls
ls 显示当前目录下的文件名
ls 目录文件名 显示指定目录下的文件名
ls -a 显示当前目录下的所有的文件名,包括隐藏文件
. 表示当前路径
… 表示上一级路基
ls -l 查看当前目录下文件的信息
ls -hl 带单位的显示文件信息
drwxr-xr-x 13 linux linux 4096 9月 11 11:25 class
d 文件类型
b c d - l s p
b 块设备文件
c 字符设备文件
d 目录文件
- 普通文件
l 链接文件
s 套接字文件
p 管道文件
rwxr-xr-x 文件使用权限
r:读权限 w:写权限 x:可执行权限 -:没有这个权限
以三个为一组,分别表示用户主、用户组以及其他用户对文件的操作权限
13 链接文件的个数
linux 用户名
linux 用户所在组的名字
4096 文件大小
9月 11 创建的日期
11:25 时间戳,文件最后修改的时间
class 文件名
ll 显示所有文件的信息
ls -i 显示文件的inode节点号
2 – cd
cd 目录名 进入当前目录
cd / 进入根目录
cd 进入家目录
cd ~ 进入家目录
cd - 返回上一次的目录
cd . 进入当前路径
cd … 进入上一级路径
绝对路径:从根目录出发,到达每一个目录的位置
相对路径:从当前路径出发,到达指定的目录
pwd:查看当前目录的绝对路径
3 – 命令或者文件名自动补全
使用tab键
4 – mkdir
mkdir 目录名 创建一个目录文件
mkdir -p 嵌套的创建目录文件
5 – rmdir
rmdir 目录名 删除一个空目录,如果目录非空,则删除不了
6 – 清屏
clear
ctrl + l
7 – touch
touch 文件名 创建一个文件
如果文件存在,表示更改时间戳
8-- rm
rm 文件名 删除一个文件
rm -rf 目录名 删除一个目录文件,不管目录有没有内容,都可以删除
9 – cp
cp 文件名 目录名 将文件复制到目录里面
cp 文件1 文件2 将文件1复制一份为文件2
cp 目录1 目录2 -a 如果目录2存在,将目录1复制到目录2里面
cp 目录1 目录2 -a 如果目录2不存在,就是将目录1复制一份为目录2
10 – mv
mv 文件名 目录名 将文件移动到目录里面
mv 文件1 文件2 将文件1改名为文件2
mv 目录1 目录2 如果目录2存在,则将目录1移动到目录2里面
mv 目录1 目录2 如果目录2不存在,就是将目录1修改名字为目录2
【7】文件内容查看命令 例如:cd /etc 查看passwd
1 – cat 查看文件内容
-n 显示行号
tac 反向显示文件内容
2 – more 分页显示内容
空格 翻页
回车 换行
q 退出
3 – less 可以返回之前的内容
同上
使用pageup向上换一页
使用上箭头也可以换一行
输入“/词语”,搜索词语,
高亮显示,按n查找下一个
4 – nl 按行号显示文件内容
5 – head -n 显示n行文件内容)
不加n默认10行,
也可以使用head -n 数字 文件名
6 – tail -n 显示最后n行文件内容
-f 实时更新读取文件最后的内容
7 – wc 对文件内容进行统计
-c 字符数
-w 单词数(只要是空格隔开就算一个单词)
-l 行数
8 – od -c 打印文件内容(按照字符形式,可统计字符数)字符数统计结果为八进制形式输出你
【8】关机重启命令 需要管理员权限
关机命令
shutdown -h now 立即关机
shutdown -h +n n分钟后关机
重启命令
shutdown -r now 立即重启
shutdown -r +n n分钟后重启
其他关机命令
halt
poweroff
init 0
其他重启命令
reboot now
init 6
【9】vi编辑器
模式:
命令模式
插入模式
低行模式
进入vi编辑器:
vi 文件名
命令模式
刚进入vi编辑器的模式为命令模式,命令模式主要用于程序的复制、粘贴等功能
在任意模式下按ESC进入命令模式
如何从命令模式切换到插入模式
a 从光标所在位置的后一个位置进程插入模式
i 从光标所在位置的前一个位置进程插入模式
o 从光标所在行的下一行进入插入模式
A 从光标所在行的末尾位置进程插入模式
I 从光标所在行的起始位置进程插入模式
O 从光标所在行的上一行进入插入模式
yy 复制一行
nyy 复制n行
p 粘贴
dd 剪切一行
ndd 剪切n行
gg 将光标移动到第一行
G 将光标移动到最后一行
u 撤销
ctrl+r 反撤销
/*** 在当前文件里面搜索***,会高亮显示,使用n查找下一个,N查找上一个
v 从光标所在位置起所在操作的内容
K 查询光标所在位置的函数或者命令的man手册的位置
插入模式
插入模式就是写代码用的
低行模式
在命令模式下输入:进入低行模式
低行模式主要用于保存、退出等功能
w 保存
q 退出
wq 保存并退出
x 保存并退出
q! 强制退出
n 将光标指向第n行
vsp 文件名 左右分屏打开一个文件
sp 文件名 上下分屏打开一个文件
wqa 所有文件保存并退出
noh 取消高亮
%s/a/b/g 将当前文件里面所有的a替换成b
m,ns/a/b/g 将当前文件的第m行到n行的a替换成b
添加共享文件夹
虚拟机 --> 设置 --> 选项 --> 共享文件夹 --> 选择总是启用
–> 添加windows下的目录文件 --> 确定
在ubuntu里面,共享文件夹的路径为 /mnt/hgfs/下,
例如共享文件名为share,则如果复制一个文件test.c,则在终端输入
cp test.c /mnt/hgfs/share
如果想从Windows复制到ubuntu的当前路径,则执行
cp /mnt/hgfs/share/hello.c .
*******************************************************************
【10】DEB软件包管理
1 – 流行的两种软件包管理机制
Debian Linux首先提出“软件包”的管理机制——Deb软件包
Redhat Linux基于这个理念推出了自己的软件包管理机制——Rpm软件包
2 – 软件包的命名
Filename_Version-Reversion_Architecture.deb
g++_4.1.2-9ubuntu2_i386.deb
g++ 软件名
4.1.2 版本
9ubuntu2 修订版本
i386 体系架构
3 – 软件包管理工具分类
命令行
dpkg 离线安装,已经有软件包下载好之后进行安装
dpkg是最早的Deb包管理工具
apt 在先安装,访问服务器下载软件并安装
APT系列工具可能是Deb软件包管理工具中功能最强大的
4 – dpkg相关命令
dpkg -i 安装一个在本地文件系统上存在的Debian软件包,必须是软件包的全称
dpkg -L 列出安装的软件包清单,列出与该包相关联的文件
dpkg -l 显示包的版本
dpkg -r 移除一个已经安装的软件
dpkg -P 移除已安装软件及配置文件
dpkg -s 显出软件包的安装状态,详细信息
dpkg -reconfigure 重新配置一个已经安装的软件包
5 – apt软件包
1 – 更新软件源
在/etc/apt/sources.list文件里面添加镜像服务器地址
执行 sudo apt-get update 更新软件源索引文件
/var/lib/apt/lists/ 软件源索引文件位置
2 – 相关命令
apt-get update 更新软件源
apt-cache search 搜索软件包
apt-cache show 获取包的相关信息,如说明、大小、版本等
apt-get install 安装包
apt-cache policy 查看软件安装状态
apt-get install --reinstall 重新安装包
apt-get -f install 修复安装
apt-get remove 删除包
apt-get --purge remove 删除包,包括配置文件等
apt-get clean 清除软件包的缓存文件
apt-get upgrade 更新已安装的包
apt-get source 下载该包的源代码
apt-get check 检查软件包依赖关系
apt-cache depends 查看依赖关系,依赖其他库
apt-cache rdepends 查看被依赖
3 – /var/cache/apt/archives 在线安装的软件的deb包存放位置
【11】shell命令概念
Linux中的Shell就是Linux内核的一个外层保护工具,并负责完成用户与内核之间的交互 命令是用户向系统内核发出控制请求,与之交互的文本流。Shell是一个命令行解释器,将用户命令解析为操作系统所能理解的指令,实现用户与操作系统的交互。同时,Shell为操作系统提供了内核之上的功能,直接用来管理和运行系统。当需要重复执行若干命令,可以将这些命令集合起来,加入一定的控制语句,编辑成为Shell脚本文件,交给Shell批量执行。
【12】命令或者程序执行过程
用户在命令行提示符下键入命令文本,开始与Shell进行交互。接着,Shell将用户的命令或按键转化成内核所能够理解的指令控制操作系统做出响应,直到控制相关硬件设备。然后,Shell将输出结果通过Shell提交给用户。
【13】shell类型
Bourne Shell(简称sh)Bourne Shell由AT&T贝尔实验室的S.R.Bourne开发,也因开发者的姓名而得名。它是Unix的第一个Shell程序,早已成为工业标准。目前几乎所有的Linux系统都支持它。不过Bourne Shell的作业控制功能薄弱,且不支持别名与历史记录等功能。目前大多操作系统是将其作为应急Shell使用。
C Shell(简称csh)C Shell由加利福尼亚大学伯克利分校开发。最初开发的目的是改进Bourne Shell的一些缺点,并使Shell脚本的编程风格类似于C语言,因而受到广大C程序员的拥护。不过C Shell的健壮性不如Bourne Shell。
Korn Shell(简称ksh)Korn Shell由David Korn开发,解决了Bourne Shell的用户交互问题,并克服了C Shell的脚本编程怪癖的缺点。Korn Shell的缺点是需要许可证,这导致它应用范围不如BourneShell广泛。
Bourne Again Shell(简称bash)Bourne Again Shell由AT&T贝尔实验室开发,是Bourne Shell的增强版。随着几年的不断完善,已经成为最流行的Shell。它包括了早期的Bourne Shell和Korn Shell的原始功能,以及某些C Shell脚本语言的特性。此外,它还具有以下特点:能够提供环境变量以配置用户Shell环境,支持历史记录,内置算术功能,支持通配符表达式,将常用命令内置简化。

【14】Shell命令格式
$ Command [-Options] Argument1 Argument2 …
指令 选项 参数1 参数2…
注意:
一条命令的三要素之间用空格隔开;
若将多个命令在一行书写,用分号(;)将各命令隔开;
如果一条命令不能在一行写完,在行尾使用反斜杠(\)标明该条命令未结束。
【15】bash的重要功能
(1) – 补齐命令与文件名
使用tab键
(2 )-- 查询命令历史
history 查询命令历史
history n 查询最后n条命令
!* 执行之前输入的命令第一个字符为的命令
可以在家目录下的.bash_history下查看历史命令记录
修改历史记录容量
临时修改
改变全局变量的值
HISTSIZE=500
永久修改
在家目录下的.bashrc文件里面修改HISTSIZE的值,
终端输入source .bashrc使得立即生效(或者新开一个命令窗口)
(3) – 对命令进行取别名
alias 列出当前系统中已经定义好的别名
临时定义别名:
定义命令别名listsoft
终端输入 alias listsoft=‘ls /var/cache/apt/archives’
取消别名的定义 unalias listsoft
永久使用别名:
在家目录的.bashrc中添加命令
即 vi .bashrc
【16】Shell特殊字符
(1) – 通配符
星号(
) 匹配任意长度的字符串
问号(?) 匹配一个长度的字符
方括号([…]) 匹配其中指定的一个字符
方括号([ - ]) 匹配指定的一个字符范围
方括号([^…]) 除了其中指定的字符,均可匹配
(2) – 管道符 |
管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命
令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个
命令的输入,以此类推。就像通过使用“|”符连成了一个管道。
例如
统计一个目录下有多少个文件
ls | wc -w
分页显示文件信息
ls -l | more
注意:管道符连接的第一个命令,必须有输出才可以,如果没有输出,则没有任何意义
(3) – 输入输出重定向
输入/输出重定向是改变Shell命令或程序默认的标准输入/输出目标,重新定向到新的目标。Linux中默认的标准输入定义为键盘,标准输出定义为终端窗口。
用户可以为当前操作改变输入或输出,迫使某个特定命令的输入或输出来源为外部文件输出重定向 将输出的内容写到文件里面
>file 将输出的数据写入文件file,如果文件不存在则创建,如果存在则清空文件
ls >file.c 将ls打印到终端的内容写入文件
>>file 将输出的数据写入文件file,如果文件不存在则创建,如果存在则追加
2> 或 &>
2>> 或 &>> 将输出的错误信息写入文件
输入重定向 将从终端输入的数据重定向到文件里面
<file 将文件作为输入源
(4) – 命令置换‘’或者$ ()
命令替换是将一个命令的输出作为另一个命令的参数
命令置换符的本质是将一个有输出结果的命令的输出内容保存在一个变量里面
例如:
A='ls` 或者 A=$(ls)
echo $A
【17】shell命令
1 – 查找命令
(1) – find 搜索文件(会在当前目录下搜索,包括子目录里面的)
find 文件名 在当前目录下查找文件
find 目录名 获取到当前目录以及子目录里面所有信息
-name 按照具体文件名进行搜索,-iname 不区分大小写,可以在当前目录以及子目录当中都去寻找文件
-size 查找指定文件大小的文件,
单位是数据块,一个数据块为512个字节,0.5k,100MB = 102400kB = 204800个数据块
+n 大于 -n 小于 n等于
-type 查找某一类型的文件, 诸如:
b - 块设备文件 c - 字符设备文件
d - 目录 f - 普通文件
l - 符号链接文件 p - 管道文件
例子:
find -name file.c -size -2 -type f
(2) – grep 在文件内容中搜索
grep 查找的数据 文件名 在指定的文件里面查找数据
-c :计算找到 ‘搜寻字符串’ 的次数,一行算一个
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 ‘搜寻字符串’ 内容的那一行
grep -R “搜索的内容” * 在当前目录包括子目录里面搜索含有文件内容的文件
(3) – whereis 搜索命令所在目录及帮助文档
例子:whereis ls
只能查找命令,还可以查找到命令所在文档
(4) – which 搜索命令所在目录及别名信息
例子:which ls
注意:只能查找一些命令
2 – 基本系统命令
(1) – man
使用man命令可以找到特定的联机帮助页,并提供简短的命令说明。
man手册既可以查找命令也可以查找操作系统定义的函数,还可以查找一些特殊文件man 命令/函数/特殊文件
NAME 命令或者函数的名字以及简短的解释
SYNOPSIS 语法或者结构
DESCRIPTION 秒数当前命令或者函数的具体操作
Return value 函数的返回值
man手册的分类
1 Executable programs or shell commands shell命令
2 System calls (functions provided by the kernel) 系统调用函数
3 Library calls (functions within program libraries) 库函数
4 Special files (usually found in /dev) 特殊的设备文件
5 File formats and conventions eg /etc/passwd 特殊的文件
例如:
man 3 printf
按装中文man手册:http://blog.chinaunix.net/uid-24830506-id-3266493.html
使用q 退出手册
/*** 在man手册里面搜索关键字,使用n搜索下一个,N搜索上一个
-a 查看所有类型的命令或者函数
-k 根据要查找的命令或者函数的功能来查找命令或者函数
(2) – info
有些程序员在自己开发的软件包或程序中包含一组额外的帮助文档,称为信息帮助页(info page)。可以使用info命令来访问这些帮助页。
(3) – echo
echo 数据 在终端输出数据,数据可以是任意类型,因为在bash里面不区分数据类型自带换行功能输出的数据如果加引号,当做一个整体,如果不加引号,当做是多个字符串
-n 不换行
-e 支持反斜控制的字符转换
\n 换行
(4) – date 获取日期时间
date +%a 星期简写
date +%A 星期全称
date +%D 按照月/日/年输出
date +%Y%m%d 年月日 例如:20170807
date +%s 从 1970年1月1日0点0分0秒到现在历经的秒数
date --date=“20170815” +%s 从1970年1月1日到2017年8月15日的秒数
(5)man – df 查看磁盘空间的使用情况,也可以查看分区
df 查看当前磁盘使用情况
df -h 带单位的显示磁盘占用情况
df -aTh 可以查看对应文件系统的类型
3 – 用户管理命令
(1) – /etc/passwd文件
account :password :UID :GID :GECOS :directory :shell
linux :x :1000 :1000 :linux, :/home/linux :/bin/bash
用户名 密码 用户id 当前用户的所属组组id 备注信息 家目录所在路径 shell类型
(2) – /etc/group文件
group_name :password :GID: user_list
linux :x :1000:
组名 密码 组id 用户名,当前用户的附加组为当前组
注意:当创建一个用户的时候,就会创建一个与当前用户对应的所属组,一般名字相同,每一个用户还可以添加附加组
(3) – adduser
adduser 用户名 创建一个用户
正在添加用户"user1"…
正在添加新组"user1" (1001)…
正在添加新用户"user1" (1001) 到组"user1"…
创建主目录"/home/user1"…
正在从"/etc/skel"复制文件…
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
正在改变 user1 的用户信息
请输入新值,或直接敲回车键以使用默认值
全名 []:
房间号码 []:
工作电话 []:
家庭电话 []:
其它 []:
这些信息是否正确? [Y/n] y
/etc/adduser.conf 配置文件,当前文件里面规定了创建用户和组的id起始位置和用户的shell类型、家目录位置等等。
/etc/skel 目录文件,当创建用户的时候会复制当前目录里面的文件到用户 的家目录里面。
/etc/sudoers 文件,当创建新用户后,新用户不具有临时获取管理员权限的功能,所以需要早当前文件里面添加。
用户名 All=(ALL) ALL
(4) – passwd 修改用户密码
passwd 修改当前用户密码
sudo passwd 用户名 修改其他用户的密码
(5) – deluser 删除一个用户
deluser user1 删除这个用户,但是工作目录不会删除
deluser --remove-home user1 删除用户user1的同时删除用户的工作目录
(6) – addgroup 创建一个组
addgroup 组名
(7) – delgroup 删除一个组
delgroup 组名
如果当前组是一个用户的所属组(首选组),则无法删除当前组
(8) – usermod 修改用户的属性
-u UID 修改用户的uid
sudo usermod -u 2000 user1
-c 用户说明 修改用户的说明信息
-G 组名 修改用户的附加组
-g 组名 修改用户的主组
4 – 进程管理命令
(1) – 概念
程序的一次执行就是一个进程
(2) – 进程号
当一个进程创建或者开启的时候,操作系统就会分配一个编号给当前进程,所以进程号是进程的唯一标识
0 内核进程,是由linux内核创建的
1 init进程,是所有进程的祖先
(3) – ps
ps -aux 显示所有包含其他使用者的进程,并且可以显示进程的占用空间的大小
USER PID %CPU %MEM STAT START TIME COMMAND
进程创建者 进程号 cpu使用率 内存使用率 进程的状态 进程创建的起始时间 进程运行的时间 进程的名字
ps -ajx 可以显示进程的父进程的id号
PPID PID PGID STAT UID TIME COMMAND
父进程进程号 进程号 进程组号 进程的状态 进程拥有者的id 进程运行的时间 进程的名字
(4) – 进程的状态
D: 不可中断的静止,等待
R: 正在执行中,运行态
S: 阻塞状态,睡眠态
T: 暂停执行,停止态
Z: 不存在但暂时无法消除,僵尸态
W: 没有足够的内存分页可分配
+: 前台进程
<: 高优先级的进程
N: 低优先级的进程
L: 有内存分页分配并锁在内存中,多线程的
s: 会话组组长
(5) – top / htop 监视进程(动态监视进程)
(6) – pstree 将所有进程以树状图显示, 树状图将会以 pid (如果有指定) 或
是以init这个基本进程为根,如果有指定使用者id, 则树状图会只
显示该使用者所拥有的进程。
(7) – kill 向一个进程发送一个信号
kill -l 查看当前操作系统所有的信号
9 SIGKILL 杀死一个进程
kill 信号 进程号 给一个进程发送信号
kill -9 进程号 杀死一个进程
5 – 文件系统相关命令
(1) – 文件系统概念
用于组织和管理计算机存储设备上的大量文件,并提供用户交互接口。
(2) – 文件系统类型
磁盘文件系统
指本地主机中实际可以访问到的文件系统,包括硬盘、CD-ROM、DVD、USB存储器、磁盘阵列等。常见文件系统格式有:autofs、coda、Ext(Extended File sytem,扩展文件系统)、Ext2、Ext3、VFAT、ISO9660(通常是CD-ROM)、UFS(Unix File System,Unix文件系统)、ReiserFS、XFS、JFS、FAT(File Allocation Table,文件分配表)、FAT16、FAT32、NTFS(New Technology File System)等;
网络文件系统
是可以远程访问的文件系统,这种文件系统在服务器端仍是本地的磁盘
文件系统,客户机通过网络远程访问数据,常见文件系统格式有:
NFS(Network File System,网络文件系统)Samba(SMB/CIFS)、AFP(Apple Filling Protocol,Apple文件归档协议)和WebDAV等专有/虚拟文件系统不驻留在磁盘上的文件系统。常见格式有:TMPFS(临时文件系统)、PROCFS(Process File System,进程文件系统)和LOOPBACKFS(Loopback File System,回送文件系统)。
(3) – linux文件系统
目前Ext4是Linux系统广泛使用的一种文件格式。在Ext2基础上,对有效性保护、数据完整性、数据访问速度、向下兼容性等方面做了改进FAT16、FAT32、NTFS是Microsoft Windows 系统的主要的文件系统格式。Linux系统同样可以很好的支持这些文件系统格式。不过,以往版本的Linux系统需要单独挂载Windows文件系统,目前很多Linux可以自动识别这些文件格式,以只读方式访问计算机磁盘上Windows系统上的文件cat /proc/partitions 可以查看分区。
(4) – 文件系统逻辑结构
Linux的文件组织模式犹如一颗倒置的树,这与Windows文件系统有很大差别分区与目录的关系:
在Windows下,目录结构属于分区;在Linux下,分区属于目录结构。
(5) – linux文件系统目录
/bin 存放系统中最常用的可执行文件(二进制)
/boot 存放Linux内核和系统启动文件
/etc 系统配置文件
/home 普通用户默认的工作目录的位置
/lib 存放库文件
/media Ubuntu系统自动挂载CD-ROM、软驱、USB存储器后,存放临时读入的文件
/mnt 该目录通常用于作为被挂载的文件系统的挂载点
/root 根用户(超级用户)的主目录
/sbin 存放更多的可执行文件(二进制),包括系统管理、目录查询等关键命令文件
/usr 用于存放与系统用户直接有关的文件和目录,例如应用程序及支持它们的库文件。
6 – file 查看文件信息
7 – 创建一个链接文件
分类:
软链接(符号链接)是利用文件的路径名建立链接。通常建立软链接使用绝对路径而不是相对路径,以最大限度增加可移植性。
硬链接是利用Linux中为每个文件分配的物理编号——inode建立链接。因此,硬链接不能跨越文件系统。
创建一个软链接 ln -s 源文件名 软链接文件名
软链接文件类似于windows的快捷方式,修改文件内容,会跟着修改,如果删除源文件,则软链接文件失效,为了移植性更好,一般在创建软链接文件时,源文件需要添加绝对路径。
创建一个硬链接ln 源文件名 硬链接文件名
硬链接文件创建后,如果删除源文件,不会影响硬链接文件,并且硬链接文件的inode结点号与源文件一致
8 – 文件压缩与打包
1 – gzip
gzip file --> file.gz 压缩
gunzip file.gz --> file 解压缩
gzip -l file.gz 查看压缩文件内的信息,包括文件数、大小、压缩比等参数,并不进行文件解压
-num 指定压缩比率,num为1~9个等级
注意:gzip没有归档,所以不能压缩多个文件或者目录
2 – bzip2
bzip2 file --> file.bz2 压缩
bunzip2 file.bz2 --> file 解压缩
注意:bzip2没有归档,所以不能压缩多个文件或者目录
3 – zip
zip file.zip file --> file.zip 压缩
unzip file.zip --> file 解压缩
zip具有归档功能,所以可以压缩多个文件
zip dir.zip file1 file2 file3 --> dir.zip 压缩
unzip dir.zip --> file1 file2 file3 解压缩
zip -r 可以压缩目录文件
4 – tar
-c 创建归档文件
-x 释放归档文件
-f 用户指定归档文件的文件名,否则使用默认名称
-j 由tar生成归档,然后由bzip2压缩
-z 由tar生成归档,然后由gzip压缩
tar -cf file.tar file1 file2 --> file.tar 归档
tar -xf file.tar --> file1 file2 释放归档
tar -cjf file.tar.bz2 file1 file2 file3 --> file.tar.bz2 归档并压缩
tar -xjf file.tar.bz2 解压缩并释放归档
tar -czf file.tar.gz file1 file2 file3 --> file.tar.gz 归档并压缩
tar -xzf file.tar.gz 解压缩并释放归档
9 – chmod 修改文件权限
chmod 选项 文件名
u 表示该文件的拥有者,
g 表示与该文件的拥有者属于同一个群体(group)者,
o 表示其他以外的人,
a 表示这三者皆是。
+ 表示增加权限、
- 表示取消权限、
= 表示唯一设定权限。
r 表示可读取,
w 表示可写入,
x 表示可执行,
X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
例如:chmod g+w file.c
此外chmod也可以用数字来表示权限,三位为一组,每一组的每一位为1表示有权限,为0表示没有权限.
【18】网络相关命令
1 – ifconfig 查看当前linux的网络状态信息
2 – ping 判断当前网络是否连通
ping ip地址
3 – 配置网络

猜你喜欢

转载自blog.csdn.net/ShawnWang1994/article/details/82803474