一、操作系统
主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,以便于使用,作为中间人,连接软件和硬件(把软件的内容翻译成01给硬件处理)
桌面操作系统(Windows,macOS,linux)
服务器操作系统(linux,windows server)
嵌入式操作系统(linux):手表,扫地机器人,汽车,机顶盒等
移动设备操作系统 (Android,IOS)
二、操作系统的发展过程:
unix ——> minix ——> linux
三、Linux的内核与发行版
发行版:Unbuntu,CentOS
四、Linux的几个关键的目录:
/home、/home/admin
/root
/mnt:光盘挂载的位置
五、Linux的基本命令行:
命令格式 command [-options] [parameter]
1、 cd切换文件:
cd:cd后面什么都不敲,就是去到自己的家 (去到/home/admin)
cd ~:也是回到自己的家 (去到/home/admin)
cd /home/admin:用绝对路径切换(“/” 代表根目录)
cd admin:用相对路径切换(假设当前在home)
cd ..:返回上一级目录
cd - :相当于电视回看功能,返回之前所在目录
2、 pwd:查看当前所在路径
3、 ls:查看当前目录的内容
ls -l:显示列表内容(文件大小 “字节" 为单位显示)== ll (它等于ll)
ls -lh:把文件大小以人性化方式显示
ls -a:显示所有文件,包含隐藏文件,隐藏文件以.开头
所有文件夹里面都有“.”(代表当前目录,当前文件夹)和“..”(代表上级目录)
ls:查看其他目录的内容
ls -la tupian:ls后加路径,直接查看该路径下的文件内容,同理可以 ls -la /(查看根目录下的所有内容并显示详细信息)ls ../..(查看上级目录的上级目录的内容)
ls ~ = ls /home/admin
可以搭配上一些通配符:
* —— 代表文件中所有字符(如ls *txt,查看当前目录下,所有以txt结尾的文件)
? —— 代表文件名中任意一个字符(a??,符合a后有两个字符的文件名)
[] —— 表示可以匹配字符组中的任意一个,可以[abc]或者[a-c]
\ —— 将通配符作为普通字符使用,在前面加上转义字符,?和 * 处于方括号内不用使用转义符就失去通配符的作用
ls的权限介绍:使用ll命令来查看更详细的信息:
dr-xr-xr-x. 4 root root 4096 5月 23 20:53 boot
第一个root代表文件拥有者,第二个root代表文件拥有者的组
drwxrwxr-x 这里的d代表文件夹,- 代表文件,r可读,w可写,x执行
第一组的rwx代表文件的拥有者的权限,第二组代表文件拥有的组内所有成员的权限,第三组代表其他组的权限(在root里面只有tmp是所有人都可以编辑)
4、 mkdir:创建文件夹:
mkdir tupian 在当前目录下创建文件夹
mkdir /home/admin/tupian 以绝对路径创建文件夹
mkdir /home/admin/a/tupian -p 如果上级目录不存在,加上-p创建父目录
mkdir a b 在当前目录创建多个文件夹(用空格隔开)
mkdir a/{c,d} 在指定目录下创建多个文件夹
mkdir .abc 以.开头,创建隐藏文件夹
5、 touch 创建空文件:
touch abc.txt:在当前目录下创建,如果指定了目录,必须保证上级目录存在
touch .abc: 创建隐藏文件
gedit abc.txt:创建文件并使用记事本打开文件
6、 rm删除文件:
rm a.txt 删除文件
rm abc -r 删除文件夹
rm * (-r)删除当前路径下的所有文件(夹),但不能删除隐藏文件
7、 clear 清屏
ctrl + C 退出
8、 comand --help 或者 man comand 查看帮助文档
9、 cp 拷贝文件:
cp 1.txt 2.txt —— cp 原文件 目标文件(目标文件的路径可写可不写)
cp abc abc_bak -r —— 拷贝文件夹
cp 1.txt abc —— 如果当前路径不存在abc的文件夹,则会在当前路径生成一个和1.txt相同内容的abc文件(!!不是文件夹)
-a —— 通常在复制目录时使用,保留原文件的所有属性
-i —— 在覆盖目标文件之前,提示用户确认是否覆盖
-f ——则不提示用户确认是否覆盖
-v —— 显示拷贝进度
10、 mv 移动 重命名:移动文件夹不用加-r
mv 1.txt 2.txt:重命名
mv 1.txt ~ :移动到指定目录
11、 > 重定向:
ls > 1.txt :把命令返回的结果输出到文件中,覆盖之前的数据,默认情况下命令返回的结果显示在屏幕上;
ls >> 1.txt:把命令返回的结果输出到文件中,以追加的方式
(前提是命令是有返回结果的)
12、 cat 查看文件内容:
cat 1.txt:把文件的内容全部显示到屏幕中
cat 1.txt 2.txt:可以显示多个文件的内容
cat 1.txt 2.txt > 3.txt:把多个文件的内容合并到新的文件中
13、 more 查看文件内容,可以分页显示:
ls / >> 1.txt
more 1.txt:查看内容多的文件,按空格键往下翻页,按b往回翻页,按q退出,按Enter键按行翻
14、 管道 |:
ls -l / | more :把左边命令返回的结果交给右边命令进行处理(这里的more翻页可以空格键或者Enter键,但是不能b键,按b键没有反应,因为不存在一个文件)
15、 ln链接
软链接(相当于Windows的创建快捷方式)软链接本身不存储内容,只记录源文件的名称:
ln -s 1.txt 1_soft_link :给1.txt创建一个软链接,相当于windows的快捷方式
ln -s 1.txt ~/1_soft_link : 给其他目录创建一个软链接,如果源文件不写绝对路径,软链接指向的源文件是不存在,所以要写成:ln -s /home/admin/1.txt ~/1_link
ln -s abc abc_link 给目录(文件夹)创建软链接
硬链接:本身占空间,相当于把源文件复制一份,与源文件同步变化,删除硬链接文件不影响源文件,不能给目录创建硬链接
使用ll查看的时候,有一个数字,代表有多少个文件能同步发生变化
ln 1.txt 1_hard_link
16、 grep命令:查找文件内容
grep hello test.txt 在某个文件中查找包含hello的内容,只要一行中有hello会把整行显示
grep -niv hello test.txt n显示查找到的内容的行号,i查找时不区分大小写,v反向查找,查找不包含hello的行
grep -n hello /home/admin -r 查找整个目录中的所有文件,包含hello的内容
可配合正则表达式,如
^h 以h开头的行
o$ 以o结尾的行
[sS]igna[lL]:匹配[]中的一系列字符中的一个
e.e:点匹配一个非换行符的字符,匹配e和e之间有任意一个字符,可以匹配eae,eee,eve,但不匹配ee,eaae
ls -al / | grep home:只显示含home的那一行
17、 find命令:查找文件
find /home -name 1.txt :在/home 目录下查找文件名位1.txt的文件
find /home -name '*txt' :在/home 目录下查找以txt结尾的文件(注意使用通配符时要加单引号)
18、 tar 归档,打包(不会压缩大小):
打包:
tar cvf a.tar 1.txt 2.txt :f必须放在最后,f后面的第一个参数表示要生成的文件名(必须以tar作为后缀名),后面所有的参数是要打包的文件
列出包里面的文件:
tar tf a.tar
解包:
tar xvf a.tar 如果没有写目录,把包里面的文件解放到当前的目录
tar xvf a.tar -C tar 解包到指定的文件夹tar,但文件夹需要提前创建好
19、 gzip命令 或 bzip2命令 或 zip(unzip)命令:
压缩:
1).打包:
tar cf a.tar * :生成a.tar文件
2).压缩:
gzip -r a.tar :生成a.tar.gz文件
解压:
1).解压:
gzip -d a.tar.gz:生成a.tar文件
2).解包:
tar xf a.tar -C ~/atar:解包到指定文件夹中
一步到位打包和压缩 & 一步到位解压解包(gzip):
一步到位打包、压缩:
tar czf b.tar.gz *txt :以gzip的方式打包并且压缩
一步到位解压、解包:
tar xzf b.tar.gz -C btar:以gzip的方式解压并且解包
一步到位打包和压缩 & 一步到位解压解包(bzip2):
tar jcf j.tar.bz2 *txt
tar jxf j.tar.bz2 -C jtar
zip:
zip -r zz *txt:zz代表要生成的压缩文件,不需要写扩展名,会自动生成zip扩展名
unzip -d zz zz.zip:解压时会自动创建目录zz,把zz.zip解压到zz中
压缩率:zip<gzip<bzip2
通用性:zip>gzip>bzip2(用gzip比较多)
20、 其他命令
which——查看命令所在位置
su —— 切换到管理员账号
su admin——切回去自己的账号
passwd —— 设置和修改密码 (要切换到root下,passwd admin:改某个用户的密码)
exit —— 退出登录账户,如果是切换后的登录用户,则返回上一个登录账号
who ——查看当前登录的用户
admin pts/0
admin tty1
pts 代表一个终端,tty代表一个用户登录了操作系统
pkill -kill -t tty1 杀掉一个用户
reboot——不需要权限,重启
shutdown —— 需要root权限,关机
21、chmod命令:设置权限
(字母法)
chmod u+r,g-w,o=x test.txt 把文件的拥有者添加r(读)权限
u——文件的拥有者
g——文件的拥有的组
o——其他用户(不包括root,你控制不了root)
a——所有用户
+——添加权限
-——删除权限
=——设置权限(把之前的权限换成新的权限)
r可读,w可写,x可执行,- 表示没有任何权限
(数字法)
chmod 123 test.txt :第一位数字代表自己的权限,第二位数字代表自己组的权限,第三位数字代表其他人的权限
3=1+2 :代表wx权限
r ——4
w ——2
x ——1
- ——0
22、 vim命令或者(=vi):
插入模式(编辑模式)————> 命令模式 ————> 末行模式
要跑到命令模式按ESC
命令模式 ————> 插入模式(编辑模式):
每次想输入i,a这些命令前,都要ESC跑到命令模式,才能输入以下命令:
i进入插入模式,光标前
I行首
a:进入插入模式,光标后
A:行末
dd:删除行
命令模式 ————> 末行模式:
输入冒号“:”:进入末行模式
w:存盘
wq:存盘退出
q!:不存盘,强制退出
set nu:显示行号
*还有一些移动光标、删除、撤销、重复命令、复制(yy复制该行,n yy 复制n行)、粘贴(p)命令,可视模式、替换操作、查找命令等