一、操作系统的概念
操作系统是管理软硬件的软件。
操作系统对上需要为用户提供安全、稳定、高效的运行环境。
操作系统对下需要管理好软硬件资源,通过驱使驱动来管理硬件。
二、文件的概念
文件=文件内容数据+文件属性(元数据)数据。
如果我们创建了一个空文件,那么这个空文件将存储于磁盘并占用磁盘空间。
三、基本指令
一、ls(显示当前路径中的文件和目录)
1、ls -l 或 ll(显示更多的属性信息(list))
2、ls -a (显示隐藏文件(all))
// 命令基本都是可以合并的
ls -a -l 或 ls -al (显示全部文件及其属性信息)
在Linux下,以 . 开头的文件,是隐藏文件。
. 是当前目录
.. 是上级目录
3、ls -R (递归式列出子目录下的文件)
4、ll -d (不进入目录,显示目录详细信息)
二、pwd(显示当前用户所处的路径)
在Linux下,/ 代表路径分隔符 。/root/Opfish/lesson04
在Windows下,\ 代表路径分隔符。C:\Users\OnePointFish
三、cd(改变工作目录(change directory))
1、cd .(进入当前目录) cd ..(进入上级目录)
2、cd (绝对路径)/(相对路径)
cd /home/Opfish/lesson04/ (绝对路径)
cd ../lesson04/ (相对路径)
3、cd ~(回到当前用户的家目录(工作目录))
4、cd -(回到上一次的目录)
5、cd ./( ) (进入当前目录下的)
四、man(查看命令/系统调用/C接口的手册)
1、安装man手册
yum install -y man-pages//需要root权限
2、查询指令/库函数
man printf//查询printf指令
man 3 printf//查询库函数printf
3、man手册数字的含义
The table below shows the section numbers of the manual followed by the types of pages they contain.
1 Executable programs or shell commands
可执行程序或shell命令
2 System calls (functions provided by the kernel)
系统调用(内核提供的函数)
3 Library calls (functions within program libraries)
库调用(程序C语言库中的函数)
4 Special files (usually found in /dev)
特殊文件(通常在/dev目录下的设备文件)
5 File formats and conventions eg /etc/passwd
文件格式和约定,例如 /etc/passwd
6 Games
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
其他(宏和约定),例如man(7), groff(7)
8 System administration commands (usually only for root)
系统管理命令(通常仅适用于 root)
9 Kernel routines [Non standard]
常用123号手册
如果不加数字,man会默认从手册 1 中开始按顺序查找,如果找到了,就停止搜索。
也可以通过 man 1/2/3 指定查找
五、tree(将文件以树状形式打印出来)
yum install -y tree //安装tree命令
六、mkdir(创建空目录)
1、创建单个空目录
mkdir (name)
2、创建一串路径
mkdir -p a/b/c/
七、rmdir(删除目录)
rmdir (name)
只能删除空目录
八、touch(创建普通文件)
1、创建普通文件
touch file01.txt
echo " " > file02.txt
>file03.txt
注意 touch 只能用于创建普通文件,不能创建目录。
2、更改文件的最近修改时间
touch (同名文件)
touch 同名文件即可 更新 该文件的修改时间(Modify time被修改)
九、file (查看更多文件信息)
十、stat(文件/文件系统的详细信息显示)
stat test01
- Access 指最后一次读取的时间(访问)
- Modify 指最后一次修改数据的时间(修改)
- Change 指最后一次修改元数据的时间(改变)
- Access\Modify\Change的初始时间记录都是文件被创建的时间
十一、rm(默认删除普通文件)
1、删除普通文件
rm test.c
rm -i test.c #系统询问是否删除
2、递归删除目录
rm -r directory
3、rm -rf(递归、强制删除目录及其内部文件(force))
rm -rf directory
不要写 sudo rm -rf / 哦
十二、cp(拷贝)
cp -i #覆盖文件之前先询问用户
cp -f #强行复制文件或目录, 不论目的文件或目录是否已经存在
cp -r #递归处理。将指定目录下的文件与子目录一并处理
cp + 文件名 + 路径 + 选项
十三、mv(剪切、重命名)
1、剪切
mv 文件名 路径 #可以剪切文件和目录到指定路径
2、重命名
mv 文件名1 文件名2 #文件名2不能是已有的文件名
mv ../test_mv01 test_mv02
#将上级目录下的test_mv01剪切到当前目录,并重命名为test_mv02
十四、cat(打印文件)tac(逆置打印)适用于少量文本
1、在文本文件写入10000行
cnt=0; while [ $cnt -le 10000 ] ; do echo " hello [$cnt] "; let cnt++; done > test.txt
2、安装nano
sudo yum install -y nano
1、cat 带行号打印
cat -n 目标文件
2、tac 逆置打印
tac 目标文件
十五、more
1、打印数据
more -n test.txt
按 q 退出 ,按 s 或 d 往下翻
2、查找匹配
十六、less
less 相似于more , 但功能更强大。
less 可以 [PGUP] 和 [PGDN] 往前和往后查看文件
less 拥有更多的搜索功能
less -i -N test.txt
-i : 搜索时忽略大小写
-N : 显示行号
在 less 时 可以使用
/ : 向下搜索“字符串”的功能
? : 向上搜索“字符串”的功能
n : 重复前一个搜索 (与 / 或 ? 有关)
N : 反向重复前一个搜索(与 / 或 ? 有关)
q : quit
十七、head(打印头部数据)tail(打印尾部数据)
1、打印数据
head test.txt//默认是打印10行
tail test.txt//默认是打印10行
head -20 test.txt //打印前20行数据
tail -20 test.txt //打印后20行数据
2、提取1000-1010行数据
head -1010 test.txt | tail -10
# 相当于head把1010行数据输入到管道里,tail 通过管道获取数据
可以通过管道结合诸多命令
head -1010 test.txt | tail -10 | tac | head -3
十八、grep(文本内容行过滤工具)
在文件中搜索字符串,将找到的行打印出来
1、grep的用法
grep -i -n linux test01
-i : 忽略大小写
-n: 显示行号
-v : 忽略文本中含有的 ‘106’ 的字段
2、指令与管道配合
1.1wc -l(获取行数)
grep -v 'hello' test.txt | wc -l #输出非hello字段的行数
1.2 sort 文本名(根据ASCII码对文本进行排序)
sort test.txt
1.3 uniq(相邻文本去重)
uniq test.txt
sort test.txt | uniq test.txt
文本排完序或去重后将被打印至屏幕,但是原文本没有被改变
。
十九、date(时间)cal(日历)
1、时间
date #打印当前时间
date +%Y/%m/%d #打印当前年月日
date +%Y/%m/%d-%H:%M:%S #打印当前年月日,时分秒,分隔符随便用哪个(分隔符不能断)
date +%s #时间戳
date +%Y/%m/%d-%H:%M:%S -d@1664112061 #将时间戳转换为年月日,时分秒
2、日历
cal # 打印当月日历
cal 2023 #显示2023年的日历
cal -3 #显示上月、本月、下月的日历(只能-3,不能-其他数字)
cal -j # 显示在当年的第几天
二十、find(精确查找)whereis(近似查找)which(查找指令)
1、find 路径 -name 文件名
2、whereis 文件名(指令)
用于查找文件名对应的指令或文档或压缩包等,是一种近似查找。
3、which 指令名
which 用于查找指令位置及重命名信息
4、alias(指令重命名)
alias Opfish='clear'
敲下Opfish 就等于 clear
二十一、zip(打包压缩)unzip(解包解压)tar(打压+解tgz压缩包)
1、zip(打包压缩)
zip -r my.zip dir #//对当前目录中的dir 压缩到my.zip
-r : 递归处理,将指定目录下的所有文件和子目录一并处理
2、unzip(解包解压)
unzip my.zip #解包解压
unzip my.zip -d 路径 #将zip压缩包解包解压至指定路径
3、tar(tgz包)
1、打包压缩
tar czvf my.tgz 文件
#c创建,z,v显示过程,f表示后面是创建的压缩包文件名
将”文件“ 打包压缩为 my.tgz
2、解包解压
tar xzvf my.tgz #将 my.tgz 解压至当前文件夹
#x解包,z,v显示过程,f代表创建的压缩包文件名(后面马上得跟上这个名字)
将 my.tgz 解压至当前文件夹
3、不解压看tgz压缩包内容
tar tf my.tgz//不解压看tgz压缩包内容
4、将tgz包解包解压至指定目录
tar xzvf my.tgz -C tmp //将my.tgz压缩包解包解压至tmp目录
4、打包压缩的目的
节省空间、将多个文件压缩成一个压缩包便于管理、压缩包科可加密、体积小便于传输
二十二、bc 指令(方便进行浮点运算)
二十三、uname 指令
-
-r (输出电脑和操作系统相关信息)
-
-a 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。
关机指令
shutdown 选项
- -h 将系统的服务停掉后,立即关机。
- -r 将系统的服务停掉之后就重新启动。
- -t sec 经过sec秒后关机。
所有关机指令只能由root用户执行。
常用热键
1、TAB
当输入cle时,因为只有clear指令,按一下TAB键将会把clear指令自动补齐。
输入cp …/指令后,再按下TAB键,会显示上级目录下的文件。
2、ctrl+c(终止前台的程序。)
3、ctrl+r(搜索历史命令,左右即可选中)
4、ctrl+d(退出当前用户,退出一层)
5、lscpu(查看cpu信息)
6、lsmcm(查看内存信息)
7、df -h(查看磁盘使用情况)
8、who(当前linux在线用户)whoami(我是谁)
命令扩展
(1)安装和登录命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。
(2)文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
(3)系统管理相关命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab。
(4)网络操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup。
(5)系统安全相关命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
(6)其他命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。