Linux常用笔记

1.command [-options] parmeter1 parmeter2...
(1)一行命令中第一个输出的绝对是“命令”或“可执行文件”
(2)【】并不存在于实际的命令中,加入参数设置时,通常是‘-’,例如“-h”。
(3)加入完整参数名称时,输入--符号,例如“--help”
(4)parmeter1 parmeter2... 为依附options或command的参数
(5)command,-options,parmeter1...它们之间用空格分隔,不论空几格,shell视为一格。

2.命令行太长的时候可以用\符号来转义enter符号,使命令连续到下一行。注意:\后立即接特殊字符

3.date +%H:%M (查看时间)

4.tab接在一串命令的第一个字的后面,则为“命令补全”
5..tab接在一串命令的第二个字的后面,则为“文件补齐”
6.ctrl+c:中断当前命令或程序。
7.ctrl+d:表示键盘输入=exit,可以直接退出


8.man page常见数字含义
(1)用户可以操作的命令或可执行文件
(2)系统核心可调用的函数与工具
(3)一些常用的函数与函数库
(4)设备文件说明
(5)设置文件或某些文件的格式
(6)游戏
(7)惯例与协议等,例如Linux标准文件系统、网络协议等说明内容
(8)系统管理员可用的管理命令
(9)与内核有关的文件

  1. man page 的组成部分
    (1)NAME 简短的命令、数据名称说明
    (2)SYNOPSIS 简短命令语法简介
    (3)DESCRIPTION较为完整的说明,这部分最好仔细看
    (4)OPTIONS 针对SYNOPSIS部分中,列举说明所有可用的参数
    (5)COMMANDS当这个程序在执行的时候,可以在此程序中发出的命令
    (6)FILES这个程序或数据所使用、参考或链接的某些文件
    (7)SEE ALSO与这个命令或数据相关的其他参考说明4
    (8)EXAMPLE一些可参考的范例
    (9)BUGS是否有相关的错误

10.info page----------tab在节点之间移动,有节点的地方通常由*显示
11.关机--shutdown的常用参数
(1)-t sec :-t后加秒数,表示过几秒关机
(2)-k:不要真的关机,只是发送警告讯息出去
(3)-r : 在将系统服务停掉后就重新开机
(4)-h :将系统的服务停掉后立即关机
(5)-n :不经过init程序,直接以shutdown的功能来关机
(6)-f :开机并关机之后,强制略过fsck的磁盘检查
(7)-c : 取消已经在进行的shutdown指令内容

例如:shutdown -h +10 10分钟之后关机
shutdown -r now
(8)reboot 与shutdown -r now几乎相同
(9)halt
(10)poweroff
注:在执行这些命令前,最好多执行几次sync,将内存的内容写入到硬盘。

=========================================================
1.用户与用户组:
只能自己访问,其他均不可访问: -rwx----
组二不能访问组一内的用户: -rwxrwx---
组一允许组二内用户的访问:-rwxrwxrwx

2.Linux文件权限
drwxr-xr-x 2 root root 3072 Apr 23 11:22 bin
档案属性 连结数 拥有者 所属群组 文件容量 修改日期 文件名

drwxr-xr-x解析:rwx是文档拥有者的权限,r-x同组用户的权限,r-x其他用户对该文档的权限

目录的属性意义:
1.r可读:具有读取目录结构清单的权限,当用户具有读取一个目录的权限时,使用ls这个指令就能将目录的内容列表显示出来。
2.w可写:
(1)建立新的文档
(2)删除已存在的档案或目录(不论该档案或目录属于谁)
(3)将已存在的档案或目录重命名
(4)改变该目录内的档案、目录位置。
3.x可执行:与能否进入该目录有关

3.第二栏表示连结占有的节点(i-node):
这个跟链接档(link file)比较有关系。如果是目录的话,第二栏的这个数字与该目录下有多少目录有关(这个数字包括当前目录,上一级目录和当前目录所包含的目录所占用的节点数的总和)
注:第七栏为这个档案的档名,如果档名前多了一个 . 则表示这个档案为隐藏文件。

4.linux系统中的文件的7种类型:---ls -l 来显示个档案的属性

  • 普通文件:数据格式文件(cat不能读取)、二进制文件、长文本文件

d 目录文件
l 链接文件 /dev/cdrom

c 字符设备文件 /dev/sg0
b 块设备文件 /dev/sr0

s 套接字文件 /run/systemd/journal/dev-log
p 管道文件 sudo mkfifo /dev/fifo :解决多个程序所访问一个文件所造成的错误


如何改变文档权限?-----如果要连目录下所有目录或档案同时更改档案属性的话,直接加上-r的参数。
5.chmod 命令是用来修改当前文件的权限操作;
格式: chmod mode xxx
例子: chmod 0444 xxx ///将xxx文件的权限中只保留读权限
chmod u+w xxx ///给当前用户单独赋写权限
chmod g+x xxx ///给当前组用户单独赋执行权限
chmod o+r xxx ///给其他用户单独赋读权限
chmod u-r xxx ///取消当前用户的读权限
注意: 一旦权限修改,可能影响文件的读写,一般只在当前家目录操作
特列: root用户不受权限影响

6.chown 命令是用来修改当前文件的用户属主操作;---改变文档所属人
格式: chown user xxx
例子: chown root xxx
注意: 修改属主的目标如果比当前用户身份高级别可能需要管理员权限
sudo chown root d.c
特例:一次可以使用chown将用户和组全部修改
chown root:root xxx ///同时修改用户和组为root

7.chgrp 命令用于修改当前文件的组用户属主操作;
格式: chgrp group xxx
例子: chgrp root xxx
注意:权限可能受限,提权操作加 sudo

添加只读用户

useradd dev     #创建用户
usermod -g nobody dev    #加入只读用户组
setfacl -R -m u:dev:rx /home/work/      #授权目录的权限  rwx 自行调整

=========================================================
1.Linux扩展名与Windows的区别:
(1)Linux档案能不能被执行,与他的第一个属性和文件内容有关,与文件名无关。
(2)Windows下的exe,bat,com都是可执行文件。

*.sh:批文件处理文档,因为它使用shell编写,所以后缀名编成 .sh
z 、.tar 、 .gz 、*zip 、 *tgz:经过打包的压缩档。
*.html 、 *.php:网页相关档案
*.pl:程序语言perl的文档

========================================================================
1.Linux中单一档案或目录的最大允许文件名为255个字符;
2.包含完整路径名称及目录(/)的完整路径名为4096个字符

3.Linux文件名的限制:一般设置Linux文件名最好避免一些特殊字符

Linux目录配置:FHS
(1)/etc开机与系统数据文件均在这个目录之下
(2)/bin ,/sbin,/usr/bin ,/usr/sbin :这是系统预设的执行文件的放置目录
(3)/usr/local:这是系统预设的让你安装你后来升级的套件的目录
(4)/home:这是系统将有账号的人的家目录设置的地方
(5)/var:www , ftp , db , mail , logmessage
(6)/usr/share/man , /usr/local/man :这两个目录为防止各类套件说明档的地方

Linux支持的文件系统
(1)lib/modules/'uname -r/kernel/fs
(2)Linux使用的文件系统由ext2 ,ext3,最新版本还支持reiserfs(基于平衡树结构的文件系统)

==============================================================
一、目录与路径
1.绝对路径:一定由根目录/写起
2.相对路径:不是由/写起,转换路径的时使用
注:(1). 表示当前所在目录
(2).. 上层目录
(3)- 表示前一个工作目录
(4)~代表自己的家目录
(5)~user 代表到user这个人的家目录
(6)su - 用户:登录另一个用户

二、目录的相关操作和路径变量
(1)cd 变换目录
(2)pwd 显示当前所在目录
(3)mkdir 建立一个新目录
(4)rmdir 删除一个里面是空的空目录
(5)环境变量PAYH :当我们执行一个指令的时候,系统会依照PATH定义的路径搜寻档案,先搜寻到的指令档案先被执行

mkdir [-mp] [目录名称]
-m:设定档案的权限,直接设定
-p:递归建立目录

rmdir [-p] [目录名称]
-p:递归删除上层的空目录

三、管理文件与目录:就是显示属性,复制,删除文件,移动文件或目录
(1)ls :显示档案名称、属性
(2)cp:拷贝文档---如果源文件多个则目标文件为目录
(3)rm:删除档案
(4)mv:移动档案

四、查看档案内容
cat 由第一行开始显示档案内容
tac 从最后一行显示,是cat倒写
nl 显示时候,顺道输出行号
more 一页一页的显示档案的内容
less 与more类似但是可以往前翻页
head只看头几行
tail只看尾几行
od 以二进制的方式读取档案内容
touch 修改文件时间与创建新文件

五、档案权限:冒险位
六、搜素档案或目录
(1)which 查看可执行档案的位置
(2)whereis 查看档案的位置
(3)locate 配合数据库查看档案的位置
(4)find 实际搜素硬盘去查询文件名称

=====================================================
vi文字处理器
(1)一般模式:控制光标的移动,删除单个、整行字,复制、粘贴
(2)编辑模式:可以输入字符
(3)指令模式:读取文件,存储文件搜素,取代等功能

编辑模式转到一般模式---esc
一般模式转到指令模式-----:/ ?
一般模式转到编辑模式-----i,o,a,r
注:
(1)i,I插入:i在目前的而光标所在处插入文字会向后退;I在首行插入
(2)a,A增加:a由光标所在的下一个字开始输入,已存在的文字会向后退;A由光标所在行的最后增加
(3)o,O插入新的一行:o从光标所在的下一行的首航驾驶输入文字;O从光标所在行的上一行输入文字
(4)r,R取代:r会取代光标所在的那一个字符;R会一直取代光标所在的文字,直到按下esc
(5)0:移动到这一行最前面
(6)$:移动到这一行最后面
(7)G:移动到这个文档的最后一行
(8)nG:n为数字,移动到这个档案的第n行
(9)gg:移动到这个档案的第一行,相当于1G
(10)n :n为数字,光标向下移动n行
(11)n :n为数字,光标向后移动n个字
删除一行光标后的内容:d$

Windows中:复制CTRL+c,粘贴CTRL+v
Linux中:
(1)复制:
yy复制光标所在的一行
nyy复制光标所在的向下n行,eg:20yy复制20行
(2)粘贴:
p,P:p为复制的数据在光标下一行贴上,P则为贴在光标上一行

Windows中ctrl+z撤销,ctrl+f查找
Linux中:
(1)撤销:
u复原前一个动作
ctrl+r重做上一个动作
:e!将文档还原到最原始的状态

(2)查找:
/ word光标之后寻找一个字符串为word的字符串
?word光标之前寻找一个字符串为word的字符串
n重复前一个搜寻的动作
N反向进行前一个搜寻动作

Windows中删除:del , backspace
Linux中:
x:向后删除一个字符
X:向前删除一个字符
nx:向后删除n个字符
dd:删除光标所在的那一整行
ndd:删除光标所在向下n行,eg:20dd删除20行
d1G:删除光标所在到第一行的所有数据0
dG:删除光标所在到最后一行的所有数据

windows中替换:ctrl+h
Linux在指令模式下替换
(1):n1,n2s/word1/word2/g 在第n1与n2行之间寻找word1字符串,并替换为word2 g=global
(2):1,$s/word1/word2/g 从第一行到最后一行寻找word1字符串,并将该字符串替换为word2
(3):1,$s/word1/word2/gc 从第一行到最后一行寻找word1字符串,并将该字符串替换为word2,在取代之间提示是否确定
(4):%s/word1/word2/g 全文替换

Windows中保存:ctrl+s
Linux中保存:
(1):w 将编辑的数据写入硬盘档案中;
(2):w! 若档案属性为只读,强制写入档案-----与用户权限有关

Windows中另存为
Linux另存为:
(1):w filename将百年祭的数据存储成另一个档案
(2):n1,n2 w filename 将n1到n2的内容储存成filename这个档案

Linux中的退出:
(1):q 离开vi
(2):q! 曾修改过档案,又不想储存,使用!为强制离开不存储档案。
(3):wq 储存后离开,若为 :wq! 则为强制储存后退出离开
(4):x 保存并退出

Linux其他命令
(1):r [filename] 在编辑的数据中,读入另一个档案的数据。亦将 【filename】这个档案内容加到游标所在行后面
(2):set nu 显示行号,设定后,在每一行的前缀显示该行的行号
(3):set nonu 与 set nu 相反,取消行号
(4):!command 暂时离开vi,到指令列模式下执行command的显示结果

=========================================================
vim的附加功能可以进行块选择
(1)v 字符选择,将光标经过的地方反白选择。
(2)V 行选择,将光标经过的行反白选择
(3)ctrl+v 块选择,可以用长方形的方式选择数据
(4)y 复制反白的地方
(5)d 将反白的地方删除掉


使用vi打开多个文件----多文件编辑(不太好用,使用vim才好用点)
(1):n 编辑下一个文件
(2):N 编辑上一个文件
(3):files 列出当前vim打开的所有文件

多窗口功能(vim)
(1) :sp filename 打开一个新的窗口,如果加file,表示在新窗口打开一个新文件,否则表示两窗口同时打开一个文件
(2)ctrl+wj 先按ctrl不放,再按w后放开两键,再按j,则光标移动到下方窗口
(3)ctrl+wk 按键同上,光标移动到上方窗口
(4)ctrl+wq 保存退出

写C语言
gcc hello.c
./a.out

=================================================
Linux磁盘与文件系统管理
1.认识EXT2文件系统

(1)在硬盘上最小存储是扇区,每一个扇区能够存储512字节(B)的数据
(2)柱面是分区时的最小单位,分区就是记录了他的起始柱面和结束柱面,
(3)起始柱面和结束柱面的数据存储在MBR(主引导分区)中。
(4)MBR最多提供4个分区的记忆。
(5)为提高磁头的读取效率,使用了逻辑块(Block)的概念,1Block=2的n次方 扇区
(6)每个文件系统开始位置的那个块被称为超级块。超级块存储文件系统的大小、空的和满的块,以及其它信息。
(7)ext2规划处inode与Block来分别存储档案的属性(放在inode中)与档案的内容(放置在Block area当中)

Linux如何读取文件内容?
(1)目录:在Linux ext2文件系统建立一个目录时,ext2文件系统给该目录一个inode和至少一个block,inode记录目录属性,逻辑块记录这个目录下的文件或目录的相关性。
(2)文件:ext2至少给文件分配一个inode和相对与文件大小的块的数量。
(3)inode本身不记录文件名,仅记录文件的相关属性,文件名则记录在目录所属的块区域。
(4)使用dumpe2fs 查看inode等的信息
eg:/etc-----先读取根目录的inode-->根目录的数据区-->/etc的inode-->/etc的数据区

小结:ext2的几个特征:
(1)block与inode在格式化的时候就确定了。
(2)一个分区能够容纳的文件数与inode有关
(3)一个inode的大小为128(字节)B
(4)逻辑块为固定大小,一般为1024/2048/4096,块的大小决定于在初始化的时候根据分区所要存储文件类型
dumpe2fs /dev/sta1---第一个分区

为什么使用日志式文件系统?
注:ext2不是日志式文件系统万一写东西断电了,数据没有保存,开机会进行检查(e2fsck工具进行检查)
(1)当系统要写入一个档案的时候,会现在日志记录区块中记录:某个档案准备要写入磁盘了
(2)开始写入档案的权限与数据;
(3)开始更新matadata的数据;
(4)挖成数据与matadata的更新,在更新日志记录区块当中完成该档案的记录。

(1)Linux系统的运行方式:采取异步方式,读取一个文件时,将文件所在的块数据加载到内存中,如果文件数据被修改,在内存中的数据就被标记为“脏”,而磁盘中的数据还没有被修改,需要写入磁盘,以保证一致性
(2)载入点:必须是一个目录,不能是一个文件。
(3)Linux支持的文件系统查看cat /proc/filesystems 或ls -l /lib/modules/uname -r/kernel/fs

文件系统的简单操作:
df [-ahikHTm][目录或文件名]
显示系统中当前磁盘的总容量、已使用容量和剩余容量的一些信息
参数:

-a:列出所有的文件系统,包括系统特有的Iproc等文件系统:-b:以Bytes为单位显示各文件系统

-k:以KBytes为单位显示各文件系统;

-m:以MBytes为单位显示各文件系统;

-h:以人们较易阅读的显示各文件系统;

-H:以M=1000K取 代M=1024K的进位方式;

-T:将分区的文件系统名称(例如ext3)显示出来:

-i:不用硬盘容量,而以inode的数量来显示

posted @ 2022-04-26 16:26  by1314  阅读(198)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end