linux基础操作笔记

linux

杂项

操作系统演变历程

1969 Unix 美国 肯·汤普森 收费

1983 GNU

1985 windows 1.0

1991 LINUX 芬兰人 林纳斯·托瓦兹

1995 windows 95

1998 windows 98

2007 windows 7

2008 windows 8

2010 windows 10

Linux系统特点

1 稳定性好(相对稳定) 2 安全性强 3 硬件需求少(配置要求低) 4 自由多样化(开源可修改) 5 综合成本低(免费)

常见版本

Debian Ubuntu redhat centos

linux 系统与windos系统区别

类别/序号 windows linux
费用方面 收费购买 免费
学习难易度方面 图形化界面 上手容易 非图形化界面 操作全靠敲指令 不易上手
软件适配 大多数为收费软件 微软官方提供技术支持和服务 大部分为开源免费软件 用户可以修改定制再发布 由全球开发者和软件社区提供支持
系统安全性 需要经常打补丁 而且容易中病毒木马 相对安全性更高 无需安装杀毒软件
开源 封闭系统 无法做到定制修改 开源 可以自定修改
硬件方面 支持图形化界面 相对硬件需求更高 图形化界面少 硬件要求低
系统维护 windows更新升级快 更新频率相对低 不用强制更新
娱乐 软件多 适配广 厂商多 相对支持厂商少 娱乐适配低

linux思想/基本哲学

一切皆文件

linux组成部件

硬件 内核 shell 应用程序

目录结构

目录名称 用途
bin 存放可执行二进制文件
dev 存放系统的设备文件
etc 存放系统配置文件
home 存放用户的主目录
mnt 让用户临时挂载其他文件的系统目录
opt 额外可放置应用程序的目录
proc 虚拟目录 用来获取系统信息
root 超级用户的主目录
sbin 超级用户身份访问的可执行二进制文件
var 存放系统日志文件

身份标识

$符号表示普通用户

表示超级用户身份

工具

xshell 远程连接虚拟机的终端工具

xftp 配合xshell使用的上传或下载的终端工具

中断操作

ctrl + c

大小写

linux严格区分大小写

yum更新

yum -y(全部确定) 文件包名

yum -y l多个文件包名

cd

cd - 回到上一级

指令

1 ifconfig

查看linux虚拟机内ip

2 SU -ROOT

普通用户切换到超级用户

2.1 EXIT

退出超级用户

3 ping

ping 网站 测试网站访问

4 ls直接查看

查看当前目录下内容

ls [选项] [目录或文件名]

参数

-a:--all的缩写,显示所有的文件,包括隐藏文件(以.开头的文件)

-A : --almost-all 同上 不显示 .和..两级目录

-l:列出长数据串,显示出文件的属性与权限等数据信息(常用)

-f:直接列出结果,而不进行排序(ls默认会以文件名排序)

-F: 在文件或目录名后加上文件类型的指示符号

-t: 以修改时间排序

-S 以文件大小排序

--help 帮助信息

4.1 ll

列出当前文件或目录的详细信息

文件类型 文件属性 目录/连接个数 所有者以及组 文件大小 修改日期 文件名称 字体颜色

5 mkdir

创建目录 或者创建一个级联[套娃目录 a/b/c]目录

格式

mkdir 参数 目录名

-p 如果目录存在 不报错 若父目录不存在 自动创建父目录 用于创建套娃目录

-m=mode 设置访问权限

6 rmdir

删除目录 不能删除非空目录

rmdir 参数 目录

参数

-p 递归删除目录

-v --verbose 显示指令执行过程

递归删除test/test1/test2

不能直接rmdir 也不能 rmdir -p test

需要 rmdir -p 接完整路径 会向上查找递归删除

7pwd

用 pwd 命令来查看”当前工作目录“的完整路径,目前所在的工作目录的绝对路径名称。

8 touch

touch 创建文件

touch 参数 名称

-a:或--time=atime或--time=access或--time=use 只更改存取时间;

-c:或--no-create 不建立任何文件;

-d:<时间日期> 使用指定的日期时间,而非现在的时间;

-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;

-m:或--time=mtime或--time=modify 只更该变动时间;

-r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;

-t:<日期时间> 使用指定的日期时间,而非现在的时间;

9 rm

删除一个目录中的文件或者多个文件或目录

对于链接文件 只是删除链接 原有文件保持不变

rm 参数 文件

参数

-f force 忽略不存在的文件 不给提示

-i 进行交互式删除 给提示

-r 将指定目录下的所有目录递归删除

-v 显示执行步骤

删库指令 rm * -rf

10mv

用于剪切文件或者将文件重命名

mv 旧文件名 新文件名 改名

mv 文件名 目录名 将文件移动到目标目录

mv 目录名 目录名 目标存在 源目录内容移到目标目录 不存在 改名

mv 目录名 文件名 报错 

参数

-i 若有同名文件 询问是否覆盖

-f 覆盖不提示

11 stat

查看详细信息

stat 目录

12 ln

ln命令是linux系统中一个非常重要命令,英文全称是“link”,即链接的意思,它的功能是为某一个

文件在另外一个位置建立一个同步的链接。

一种是hard link,又称为硬链接;

另一种是symbolic link,又称为软链接。

通俗一点理解,

硬链接当成源文件的副本,他和源文件一样的大小,但是事实上却不占任何空间。

软链接可以理解为类似windows一样的快捷方式。

软链接 :

软链接以路径的形式存在,类似于Windows操作系统中的快捷方式。

软链接可以跨文件系统 ,硬链接不可以。

软链接可以对一个不存在的文件名进行链接,硬链接不可以。

软链接可以对目录进行链接,硬链接不可以。

硬链接:

硬链接以文件副本的形式存在,但不占用实际空间。

硬链接不允许给目录创建硬链接。

硬链接只有在同一个文件系统中才能创建。

ln [参数] [源文件或目录] [目标文件或目录]

参数

-s 对源文件建立软链接,而非硬链接
-b 为每个已存在的目标文件创建备份文件
-d 此选项允许“root”用户建立目录的硬链接
-f 强制创建链接,即使目标文件已经存在
-n 把指向目录的符号链接视为一个普通文件
-i 交互模式,若目标文件已经存在,则提示用户确认进行覆盖
-v 详细信息模式,输出指令的详细执行过程

13 cat tac

一次性显示整个文件

cat 参数 名字 查看文件 | 可以同时查看多个文件

cat > 名称 创建新文件

cat 文档1 文档2 > 新文档3 文档合并

参数

-n --number 由1开始对所有输出的行编号

-b 同上 空白行不编号

-s 遇到连续两行以上的空白行 旧代换为一行空白行

-v

显示test文档内 第2-7行文字

cat test.txt | head -n 7 |tail -n +2

查询带关键字的日志并保存在其他文档内

cat test.txt |grep 查询目标 >保存文件路径

13.1 tac

反向显示文件内容

tac 名称

13.2 sed

查询时间段内输入的内容

sed -n '/yyyy-mm-dd hh:mm:ss/,/yyyy-mm-dd hh:mm:ss/p' 文件名.txt

14 head

用于查看文件开头部分的内容 常用参数 -n 显示行数 默认为10

head 参数 文件

参数

-q 隐藏文件名

-v 显示文件名

-c数目 显示的字节数

-n行数 显示的行数

head -n -2 text.txt 不显示最好两行

15 tail

用于显示文件尾部的内容,默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入

tail 参数 文件

参数

f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

tail -n -1 test.txt = tail -1 test.txt = tail -n 1 text.txt

16 echo

向文档写入文字

echo ‘内容的’ > 文件名

17 more

分页显示文件内容 可以逐页阅读文件内容 支持交互命令 只能往后看 不能往前翻

more 选项 文件名

按q退出 空格翻页 回车单行查看

参数

-f 计算行数时,以实际的行数,而不是自动换行过后的行数。

-p 不以卷动的方式显示每一页,而是先清除屏幕后再显示内容。

-c 跟 -p 选项相似,不同的是先显示内容再清除其他旧资料。

-s 当遇到有连续两行以上的空白行时,就替换为一行的空白行。

-u 不显示下引号(根据环境变量 TERM 指定的终端而有所不同)。

+n 从第 n 行开始显示文件内容,n 代表数字。

-n 一次显示的行数,n 代表数字。

交互命令

h 或 ? 显示 more 命令交互命令帮助。
q 或 Q 退出 more。
v 在当前行启动一个编辑器。
:f 显示当前文件的文件名和行号。
!<命令> 或 :!<命令> 在子Shell中执行指定命令。
回车键 向下移动一行。
空格键 向下移动一页。
Ctrl+l 刷新屏幕。
= 显示当前行的行号。
' 转到上一次搜索开始的地方。
Ctrf+f 向下滚动一页。.重复上次输入的命令。
/ 字符串搜索指定的字符串。
d 向下移动半页。b向上移动一页。

18 less

Linux中的less命令主要用来浏览文件内容,与more命令的用法相似,不同于more命令的是,less命令

可往回卷动浏览以看过的部分。

less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻,只能往后面看,

但若使用了 less时,就可以使用[pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容

less 参数 文件

参数

-b 《缓冲区大小》 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o 《文件名》 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x 《数字》 将“tab”键显示为规定的数字空格
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页

19 cp

用于复制文件和目录 借助选项可以复制整个目录 以及对比两文件的新旧

默认情况下,cp命令不能复制目录,如果要复制目录,则必须使用 -R 选项

cp 参数 源文件 目标文件

参数

-a:此参数的效果和同时指定"-dpR"参数相同;
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目
录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才
复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。

20 du

查看目录下所有文件的大小 此处要用绝对路径/home/ccc

du -h 目录名或者文件名

-k 以kb为单位显示内存使用情况 默认单位

-m 以mb为单位显示内存使用情况

-h 以合适的列表方式显示

21 gerp

文档内筛选目标内容

gerp 目标内容 文档名

22 hostname

显示主机名称

22.1 who

查询用户

22.2 unmame -a

查询系统详细信息

23 find

查询目录下文件名

find 路径 参数 名称

-name 根据名称查询

-size 根据大小查询 +8000c = 大于8k 同理 -8000c = 小于8k

23.1 wc

查看文档行数

24 gzip bzip2 zip

24.1 gzip

gzip压缩文件 不能压缩目录

gzip 文件名

gzip 解压

1 gzip -d 文件名.gz

-v 压缩程度 1-9 9最高

gzip -dv -9 文件名 或 gzip -d -9 文件名

2 gunzip 文件名.gz

24.2 bzip2

​ bzip2压缩文件 不能压缩目录

bzip2 文件名

bzip2 解压

bzip2 -d 文件名.bz2

bunzip2 文件名.bz2

24.3 zip

zip压缩 可以压缩目录 也可以压缩文件 默认放在当前目录下面

zip (目标地方)名称.zip 目录或者文件名

unzip 解压

24.5 注意事项

gzip bzip 压缩后源文件不存在

解压后源文件也不存在

zip压缩 源文件存在

解压后源文件存在

速度 bzip2 < gzip < zip

速度越快压缩率越低

25 tar

打包文件 tar包文件的命令通常都是以.tar结尾的 先打包 后调用其他程序压缩

用来压缩和解压缩 本身不带有压缩功能 是调用压缩功能实现的压缩

tar [必要参数] [选择参数] [文件]

tar -cvf 包名.tar 文件1 文件2 文件3

参数

常用参数

cvf 创建

解包x

t看包内内容

zcvf gzip格式打包

jcvf bz2格式打包

-A 新增压缩文件到已存在的压缩

-B 设置区块大小

-c 建立新的压缩文件

-d 记录文件的差别

-r 添加文件到已经压缩的文件

-u 添加改变了和现有的文件到已经存在的压缩文件

-x 从压缩的文件中提取文件

-t 显示压缩文件的内容

-z 支持gzip解压文件

-j 支持bzip2解压文件

//////-Z 支持compress解压文件

-v 显示操作过程

-l 文件系统边界设置

-k 保留原有文件不覆盖

-m 保留文件不被覆盖

-W 确认压缩文件的正确性


可选参数如下:
-b 设置区块数目

-C 切换到指定目录

-f 指定压缩文件

--help 显示帮助信息
--version 显示版本信

26 rpm

rpm软件管理查询

rpm 参数 命令名称

参数

-q 查看系统中已经安装的rpm包
-a 查看系统中已经安装的rpm包

-e 卸载命令 | yum -y remove 指令名称

-ivh 安装.rpm软件包

|grep 筛选

27 netstat

查询指定进程的端口号

netstat -anp 查看全部端口号

netstat -anp|gerp 筛选指定进程

28 ps

查看指定进程的进程号

ps -ef 查询全部进程

ps -ef|grep 筛选指定进程

ps -C 指定进程

ps -aux 显示某一瞬间所有进程状态

ps top动态显示当前系统中耗费资源最多的进程

29 kill

杀死pid进程号

kill -9(强行关闭) pid

进程pid和端口的区别

一个程序 启动时占用一个端口号 同时运行时内部程序会分配进程号

想释放端口 得将软件所有占用的进程号全部kill 然后应用会关闭 从而释放端口

30rz sz

rz上传

sz下载

用前需要下载

30.1

arch/ uname

uname 参数

-m 显示使用的内核

-a 显示使用的内核版本

getconf LONG_BIT(显示操作系统位数)

cat /proc/cpuinfo 显示cpu信息

cat /proc/version 显示内核版本

cat /proc/net/dev 显示网络适配信息

cat /etc/redhat-release 查看centos版本


date显示系统日期

date 后接设置时间格式(月日时分年.秒)

cal 年份 打印对应年份的日历表


ifconfig eth0显示以太网卡配置

ifconfig eth0 up 启用一个eth0网络设备

ifconfig eth0 down(禁用一个‘eth0’网络设备)


netstat 显示网络状态

netstat 参数

-r查看路由器信息 ,

w查询上机者的详细信息

whoami查看自己账号名称

groups查看某人的组

history查看自己敲过的命令

clear reset清屏

31 du df free 0

du diskuse

** 显示每个文件和目录以及占用了多少空间**

参数

-k 以kb为单位显示内存使用情况 默认单位

-m 以mb为单位显示内存使用情况

-h 以合适的列表方式显示

df diskfree

显示指定磁盘文件的可用大小

-k 以kb为单位显示内存使用情况 默认单位

-m 以mb为单位显示内存使用情况

-h 以合适的列表方式显示

free

显示系统使用和空闲的内存情况

参数

-k 以kb为单位显示内存使用情况 默认单位

-m 以mb为单位显示内存使用情况

-g 以合适的列表方式显示

32 shutdown

关机

shutdown -h now 关闭系统

init 0 关闭系统

telinit 0 关闭系统


Shutdown -h 时间 系统会在指定时间关机

shutdown -h +10 十分钟后关机

shutdown -r +10 系统十分钟后重启

shutdown -c 取消按预定时间关闭系统

shutdown -r now 马上重启

rebot 重启


halt 关闭系统

logout 注销

33 vim

文本编辑器

vim 文档名称

有就打开没有就新建

vim 绝对路径

vim +n 文件名 打开文档好定位第n行

i 进入插入模式

esc 退出模式

: 进入命令模式

:w 保存

:w 名称 另存为新文件

:set number 编辑文件显示行号

:set nunumber 编辑文件不显示行号

:e 打开目录下的文件 后可接绝对路径

:q 退出

:wq! 强制退出

基本模式

按两下dd 删除整行

按两下yy 复制整行

按 p 粘贴

34 user

34.1 useradd

创建新用户

useradd -u uid newuser

-p 添加密码

-g 分组

-d 创建用户目录

34.2 passwd

passwd newuser 为新用户newuser设置密码 密码不回显

passwd -d username 删除用户username的口令

34.3userdel

userdel 用户名 删除用户账号

userdel -r(remove) ddd 删除用户ddd以及其家目录克文件

34.4usermod

usermod -u uid username 修改用户username的uid

-g 修改组名

-p 修改密码

-l 修改账户名

-L 锁定用户

-U 解锁

35 groups

groups 用户名

查询用户所属组


35.1 groupadd

创建组

groupadd -g gid

组名 创建组时指定组gid

不指定时会自动增长

groupmod -g gid

组名 更改对应组名的gid

groupmod -n

新组名 旧组名 更改组名

groupdel

组名 删除用户组


groupdel

删除组

35.2 gpasswd

-a 用户 组名 将用户加入对应组

-d 用户 组名 将用户踢 出对应组

services iptables stop

关闭防火墙

id 用户

查询用户uid gid 组信息

36 文件权限管理

d | rwx | r-x | r-x. 4 root root 31 2月 27 10:30 公共

1 3 3 3 分组 分组内 - 充当填充作用

第一组基本权限

第二组用户权限

第三组用户组权限

第四组其他人权限

基本权限 通过ll查看

r(read) 读权限

w(write) 写权限

x(execute) 执行权限

d(dir) 目录

-( ) 普通文件

l(link) 链接文件

变更文件管理权限

chmod [权限范围 +/-/= 权限代号] 文件或目录

u:user 文件的创建者或者拥有者

g:group 文件或目录的所属群组

o:other 除了拥有者和群组之外 其他用户都属于这个范围

a:all 全部用户 包含拥有者 所属群组以及其他用户

r 读取 数字代号4

w写入 数字代号2

x执行或者切换 数字代号为1

-无权限 数字代号为0

37 shell脚本

posted @   天洛-  阅读(37)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示