小知识"/>
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=小数点位数
一些热键
- Tab
命令补齐和文件补齐,按两下
- Ctrl+c
中断当前程序
- Ctrl+d
键盘输入结束,能替代exit
- Shift + Pg up/pg down
翻页
在线求助(记不清命令作用时)
-
–help
查自己用过的指令
-
man
查自己没用过的命令
表格第一行指令后的数字含义
输入/word,来主动搜寻关键词
Linux的文件权限和目录配置
使用者和群组
-
文件拥有者
-
群组
仅组内成员能查看,每个账号可以有多个群组的支持,每个使用者可以设置自己的私有文件,其他人也不能看
-
其他人
注意:默认情况下,系统的账号等相关信息都在/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系统基础小知识
发布评论