Linux系统基础小知识

编程入门 行业动态 更新时间:2024-10-24 22:24:25

Linux系统基础<a href=https://www.elefans.com/category/jswz/34/1762714.html style=小知识"/>

Linux系统基础小知识

linux基础

系统概述

  • Linux版本及代表含义

    核心版本(Kernel)

    • 由三部分组成

    • 如2.6.34表示 2为主版本号 6为次版本号 34 表示第34次修订

    • 次版本为奇数,则表示是测试版本,偶数则是稳定版本

    发行版本(Distribution)
    Ubuntu,Debian等


常用命令

格式
  • bash格式:命令名 选项 参数
  • 注意
    • 必须小写
    • 选项一“-”开始,多个选项可以用“-”连接起来
    • 命令太长放不下行位末尾输入“\”,按回车
基础命令
1. who 查看当前用户
2. date 日期
可格式化输出
3. cal 日历
cal [month][year]
4. clear
5.bc 计算器
预设输出整数,若要输出小数则要设置scale=小数点位数
一些热键
  1. Tab

    命令补齐和文件补齐,按两下
  2. Ctrl+c

    中断当前程序
  3. Ctrl+d

    键盘输入结束,能替代exit
  4. Shift + Pg up/pg down

    翻页
在线求助(记不清命令作用时)
  1. –help

    查自己用过的指令

  2. man

    查自己没用过的命令
    表格第一行指令后的数字含义

    输入/word,来主动搜寻关键词

Linux的文件权限和目录配置

使用者和群组
  1. 文件拥有者

  2. 群组

    仅组内成员能查看,每个账号可以有多个群组的支持,每个使用者可以设置自己的私有文件,其他人也不能看

  3. 其他人

注意:默认情况下,系统的账号等相关信息都在/etc/passwd中,密码则在/etc/shadow,组名在/etc/group

文件权限

使用ls -l 长格式显示(详细)共10位
显示结果为:
文件类型和权限 链接数 文件主 文件组 文件大小 修改时间 文件名
参数介绍
(1)第一个字段中第一个字符表示文件类型
- 普通文件/档案
d 目录
b 块设备文件,可随机存储装置
c 字符设备文件,一次性读取装置
l 符号链接文件
(2)随后9个字符表示文件的存取权限
r 读
w 写
x 执行
s 当文件被执行的时候,把该文件的UID或GID赋予给执行进程的UID或GID
t 设置了粘贴位(留在内存不被换出)
- 没有设置权限
每3位一组
第一组为档案拥有者的权限
第二组为同群组的权限
第三组为其他非本群组的权限
(下面chmod也有)
(3)对于符号链接文件
在文件名字段显示的形式是 文件名->目标文件的路径名
(4)对于设备文件
在列表的第一行给出该目录的总块数

改变文件权限和属性

chmod 用于改变或设置文件或目录的存取权限
只有文件主或超级用户才有权用该命令改变文件或目录的存取权限
根据表示权限的方式不同,有两种用法:以符号模式改变权限和一绝对方式改变

  • 符号模式

    格式 chmod key 文件名
    key 组成:who 操作符 mode
    who 可以是下列任意字母或组合
    u 用户
    g 即和文件属主有相同的ID的所有用户
    a 所有用户
    o 其他用户
    操作符号
    + 添加某个权限
    - 删除某个权限
    = 赋予某个权限并取消其他权限
    mode
    r 读
    w 写
    x 执行
    u 与文件属主有拥有一样的权限
    t 保留程序的文本到交换设备上
    g 和文件属主同组用户有一样的权限
    o 和其他用户有一样的权限

  • 绝对方式

chmod 数字 文件名

chgrp:改变群组
chgrp [-R] dirname filename
chown:改变档案拥有者
chown [-R] 账号名称 目录或文件

文件种类和拓展名
  • 正规文件

    221

文件与目录
文件
  • 比较文件命令

    1. comm 对已排序文件比较
    2. diff 比较文件并找出不同
    
  • 复制,移动和删除文件

    1. cp 将源文件或目录复制到目标文件过目录中-i 如目标文件已经存在,在覆盖式会先询问动作-p 连同属性一起复制过去-r 递归复制,用于复制目录-a 复制目录时,相当于-dpR-f 若现存的文件不能打开就删除并重试-i 交互式复制
    2. rm 删除-f 忽略不存在的文件-i 删除前询问-r 递归删除
    3. mv 对文件或目录重新命名,或者移动一个文件
    
  • 文件内容统计

    wc 统计指定文件的字节数

  • 绝对路径和相对路径

    绝对路径:路径的写法『一定由根目录 / 写起』,例如: /usr/share/doc 这个目录
    相对路径:路径的写法『丌是由 / 写起』,例如由 /usr/share/doc 要到 /usr/share/man 底下
    时,可以写成: 『cd ../man』这就是相对路径的写法啦!相对路径意指『相对于目前工作目录
    的路径!』
    
目录
  • 创建和删除目录

    1. mkdir 创建目录-m 直接配置文件的权限如:mkdir -m 777 test1-p 将目录依次建立起来如:mkdir -p /home/bird/test1
    2. rmdir 删除目录
    
  • 改变工作目录和显示目录内容

1. cd 进入工作目录. 当前目录.. 上一级目录- 前一个工作目录~ 目前用户身份的所在家目录~account 代表这个用户的家目录
2. pwd 显示当前工作目录绝对路径-P 显示出正确的完整路径
3. ls 显示当前目录-a 显示该目录下所有的子目录和文件-A 显示指定目录下所有子目录和文件-c 按照文件修改时间-C 分成多列显示各项-d 参数为目录则,只显示名字-h 列出容量(B/KB)-F ,--classify 在列出的文件名后面加上不同的符号/ 表示目录* 可执行文件@ 符号链接文件| 管道文件= 表示socket文件
其他命令
1. cat/tac/nl 由第一行开始显示文件内容/最后一行/显示内容时,打印行号-n 输出行号
2. head/tail 显示指定文件开头/末尾几行
3. touch 修改指定文件的时间标签或创建一个空文件-a 仅改变访问时间-c 仅修改档案,不创建任何文件-m 仅改变指定文件的修改时间-d 后面可以接想修订的日期-t 接想修改的时间,格式[YYMMDDhhmm]
4. grep 在文件中查找指定模式的词或短语-E 解释为扩展的正则表达式-F 单纯字符串-n 加上行号
5. sort 对文本文件的各行排序
6. uniq 从排好序的文本行中去除重复行-d/u 只显示重复行/不重复行
7. more/less 一页一页显示内容空格键 (space):代表向下翻一页;Enter :代表向下翻『一行/字符串:向上搜索该字符串?字符串:向下搜索q:离开
8. head/tail显示前/后几行
9. od 以二进制显示
10. whereis 查找文件名-b :叧找 binary 格式的档案-m :叧找在说明文件 manual 路径下的档案-s :叧找 source 来源档案-u :搜寻不在上述三个项目当中的其他特殊档案
11. which 查找指令
联机帮助
man 命令格式化并显示某一命令的帮助手册页格式man 选项 命令名
help 查看所有内置命令信息​
进程管理
ps 查看当前系统运行的进程信息
kill 终止一个进程
sleep 暂停一个进程
文件解压缩
gzip 压缩和解压缩

文本编辑

工具vi
模式
  • 以 vi 打开一个档案就直接迚入一般模式了(这是默讣的模式)。在这个模式中, 你可以使用『上下左右』按键来移劢光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以
    使用『复制、贴上』来处理你的文件数据。
  • 编辑模式:
    在一般模式中可以进行删除、复制、贴上等等的的作,但是却无法编辑文件内容! 要等到你
    按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,
    按下这些按键时,在画面的左下方会出现『 INSERT 戒 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
  • 指令列命令模式:
    在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移动到最底下那一行。
    在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、
    显示行号等等的劢作则是在此模式中达成的!
操作
一般模式下
  • 光标移动,复制粘贴,搜寻取代
    移动
    方向键移动光标
    [ctrl]+f/b/d/u 屏幕向下一页/上/下半页/上
    G 移动到最后一行
    检索
    /模式+enter 向前检索
    ?模式+enter 向后检索
    n/N:重复检索同向/反向
    替换
    g/s1/p:打印文件中包含s1的所有行
    g/s1/s//s2/:用s2替换s1
    g/s1/s//s2/g:s2替换所有的s1
    删除
    x,X: x 为向后删除一个字符 (相当亍 [del] 按键), X 为向
    前删除一个字符
    dd:删除一整行
    yy:复制一整行
    p,P:p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行!
    J :将光标所在列不下一列的数据结合成同一列
    u :复原前一个动作。
    [Ctrl]+r :重做上一个动作
    .:重做上一个动作
    
一般模式切换到编辑模式
  • 进入或取代
    按i进入输入模式,Esc退出到命令模式
    i/I:输入的内容在都插入在光标之前,按下enter键,就插入新的一行/在当前行,行首插入新增文本
    

a/A:输入的字符插入到光标之后/在当前行的行尾添加文本
o/O:进入插入模式o 为『在目前光标所在的下一行处插入
新的一行』/O 为在目前光标所在处的上一行插入新的一行!
r/R:进入取代模式 r 只会取代光标所在的那一个字符一次;R 会一直取代光标所在的文字,直到按下 ESC 为止
Esc:退出编辑模式

###### 指令列模式- 指令列的储存,离开
​

先输入:
w:把数据放入硬盘
w!:强制写入
wq:把编辑器缓冲区的内容写到指定文件
ZZ:仅当修改过编辑内容的时,才写到指定文件上
x:等同于ZZ
q!:强制退出,直接退出不保存内容
w [filename] :将编辑的数据储存成另一个档案(类似另存新档)
r [filename]:在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
! command :暂时离开 vi 到指令列模式下执行 command 的显示结果!
set nu/nonu :显示行号,设定后,会在每一行的前缀显示该行的行号/取消行号


### shell- 解释性语言
- b shell
- 利用shell和相关工具指令
- 文件名通常为*.sh
​
###### 写- vi/vim
​
- 执行时从上到下,从左到右
- 忽略空白
- 读取到一个CR(enter)符号,就开始尝试执行命令
- 用`\[Enter]`来延伸下一行
- 注释`#`
​
###### 执行- 直接下达命令  (有rx权限)
- 绝对和相对路径
- bash程序执行  `bash 文件名  , sh 文件名  , bash<文件名`
- 环境变量`$PATH=$PATH:.(把当前目录添加到path中)然后就可直接执行脚本`
​
##### 其他- 查看历史命令
​

history
执行历史命令
!+该命令的序号

- 名称补全- 在bash命令行下输入文件名或目录名开头几位,按tab键- 别名
​

alias 别名=‘命令’
unalias 别名 取消别名

- 通配符
​
  • 匹配任意字符的0次或多次
    ?任意一个字符
    [] 字符组中任意一个字符
    !表否定
- 模式表达式
​

*(模式表) 匹配0次或多次出现的模式,各个模式以’|'分开
+() 一次或多次
?() 任何一种一次或0次
@() 给定出现一次的模式
!()否定2

- 引号
​

“” 除去$,`,\外都作为普通字符处理
‘’ 都作为普通字符
`` 解释为命令行

- 定向
​

< >输入输出重定向(从文件里输出/输入)

添加到文件后面


##### 变量- 定义变量名 值
- 定义的默认变量类型为字符串
- 取消定义`unset name`
- 在长字符中用${变量名}
###### 命令替换
- 将一个命令执行的结果赋给变量
- 方式
- ``号
- $(命令)
​
###### 数组- 读取格式`$echo ${city[0]}`
​
###### 变量引用

$name
$name{}
${name[n]}
${name[*]} ${name[@]}表示所有非空元素的值
${#@} KaTeX parse error: Expected '}', got '#' at position 2: {#̲*}值是@ $返回的参数的个数
${#name[i]} 值是数组第i个元素长度的值
${#name[
]} ${#name[@]} 返回已经设置的元素个数


###### 位置参数- 通过命令行上对应的位置传值
​
- 引用
​`$echo $0 $1 $2 $3...${11}`
​$0 的值是命令名或脚本名
​后面一次是其他变量的值
​
- 设置值
​

set 值1 值2 值3…

- 移动位置参数
​
- 值的数量大于9时使用
​
`shift 要移动的位置数量 如:shift 4 即值左移4位`
​
$0 不会变化
​
###### 其他- 在其他子程序内执行时,用`export PATH`
​
- env:列出目前shell环境下的环境变量和内容
​
- set:观察所有变量
​
- $:PID
​
- 预定义变量- $# 表示命令行上参数个数,不包括脚本名本身
- $$ 当前的进程号 PID
​
- $?:上个执行指令的回传值- 0则执行成功- 非0则失败- $!上一个后台进程号
- $- 有当前shell设置的执行标志名组成的字符串
- $* 实际给出的所有实参字符串
- $@同上- read:读取来自键盘输入的变量
​

-p:后面可以接提示符
-t:后面可以接等待的秒数

- declare/typeset:宣告变量类型
​

-a 定义为数组
-i 整型
-x 环境变量
-r readonly

##### 条件语句###### 语法

if 条件
then 满足条件执行
elif 第二条件
then 满足条件二时
fi 结束if


###### 条件测试- 3种形式
​

test
[ ]有括号!!!
如:test -f “$1” = [ -f “$1” ]
[[条件表达式]]之间的词不能进行词分解和文件名生成

- 运算符
​
- 文件测试运算符,成立则真
​```-r 可读-w 可写-x 可执行-f 普通文件-d 目录文件-p FIFO文件-b 块设备-c 字符设备-s 文件长度大于0-t 终端设备```- 字符串测试
​```s1 不为空-z s1 长度为0-n s1 大于0s1 =/!=/>/<```- 数值
​```n1 -eq n2 等-ne  不等-lt  小于-le  小等-gt  大于-ge  大等```### 网络管理与远程控制文件传输- 网络配置配置
​
- ifconfig -a
​不带参数是查看所有网卡信息
​ifconfig eth0 查看网卡N的信息
​ifconfig eth0 up/down,ifdown/ifup  启用/禁用网卡,断开/连接
​ifconfig eth0 192.168.1.1 netmask 255.255.255.128 为网卡配置ip地址,重启后消失- 手动重新动态获取地址dhclient-r 释放地址

更多推荐

Linux系统基础小知识

本文发布于:2023-07-28 15:44:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1239294.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:小知识   基础   系统   Linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!