Linux系统用途
- 超级计算机TOP500榜单中97.4%都是Linux系统计算机,前10都是Linux系统计算机,只有3台Windwos(高性能计算机)
- Linux机器人
Linux使用的注意事项
- Linux严格区分大小写
- Windows下的程序不能直接在Linux中使用
- Linux不靠扩展名区分文件类型
- Linux中所有内容(包括进程、设备、通讯信道或数据结构)以文件形式保存
- Linux中所有存储设备都必须挂载之后才能使用
Linux的树形结构
-
Linux只有一个根目录 /
-
Linux中其他目录都在根目录之下
-
Linux中每个目录不仅可以使用本地分区的文件系统,也可以使用网络上的文件系统。
-
其文件树结构如图所示
-
具体标准目录详情如表:
同等win目录 | 目录名称 | 比赛使用 | 功能描述 |
---|---|---|---|
%SystemRoot% | /bin目录 | 否 | 包含了引导启动所需的命令或普通用户可能用的二进制命令 |
%SystemRoot% | /sbin目录 | 否 | 类似/bin,存储系统管理员使用的基本的系统程序 |
C:/Users | /etc目录 | 是 | 存放着各种系统配置文件,其中包括了用户信息文件 |
C:/Users/Admin… | /root目录 | 是 | 是超级用户的目录,存放引导加载器使用的文件 |
C:/Users/* | /home目录 | 否 | 是各用户的目录(比赛时需要把home分区删除,分配到/根分区上) |
%SystemRoot%/* | /lib目录 | 否 | 共享库,存放文件系统程序运行所需的共享文件 |
- | /dev目录 | 是 | 存放设备驱动程序,用户通过这些文件访问外部设备 |
C:/ProgramData | /var目录 | 是 | 包含系统运行时要改变的数据,对应目录的大小要经常变化 |
光驱 | /mnt目录 | 是 | 是系统管理员临时安装文件系统的安装点 |
光驱 | /opt目录 | 是 | 拓展目录,必要时可挂载到root下扩充空间 |
%temp% | /tmp目录 | 否 | 存放程序在运行时产生的信息和数据 |
C:/Users | /usr目录 | 否 | 系统级的目录 |
%ProgramFiles% | /usr/local目录 | 是 | 用户级的程序目录,其bin目录下在比赛时放脚本 |
Linux目录及文件命名规范
- 每一个文件与目录的名称独一无二(文件可包含完整路径)
- 目录或文件名长度可达255个字符,并严格区分大小写
- 名称可含空格等特殊字符,但不可含以下特殊字符
序号 | ① | ② | ③ | ④ | ⑤ | ⑥ |
---|---|---|---|---|---|---|
一 | ’ | " | ` | / | \ | 竖线 |
二 | * | ? | > | < | ; | & |
三 | ![ | ] | ( | ) | { | } |
- 包含完整路径名称的文件最长可以达到4096个字符
- 同类文件应使用同样的后缀或扩展名
控制台“前缀”
[root@localhost ~]# 中 root 是当前用户名,localhost 是主机名,**~**是当前目录(/root目录)
路径 | 说明 |
---|---|
绝对路径 | 以 / 根路径为开头的路径 |
相对路径 | 除了绝对路径之外的路径 |
Linux系统命令
# 查找文件
# 创建目录(树) folder1 folder2/folder3
mkdir -pv folder1 folder2/folder3 # -p创建目录树 -v显示创建过程信息
# 删除空目录(树) folder1 folder2/folder3
rmdir -pv folder1 folder2/folder3 # -p递归删除目录树 -v显示删除过程信息
# 创建文件 file1 file2
touch file1 file2 # 若文件不存在,则创建文件;若文件存在,则更新文件时间为系统时间
# 删除文件与目录(树) folder1 folder2/folder3 file1 file2
rm -rvf folder1 folder2/folder3 file1 file2 # -r递归删除目录树 -v显示删除过程信息 -f强制删除
# 显示当前路径
pwd -P # print work directory -P显示链接的实际路径
# 切换路径 path
cd path # />根目录 ~或空>当前用户主目录 ->上个目录 ..>上级目录 .>当前目录
# 列出目录下的所有文件和目录
ls/dir -lad # ls与dir很相似 -l以长格式显示[缩写ll] -a显示所有目录和文件包括隐藏文件和特殊目录 -d对于目录只列出目录内容【(ls自带上色效果:目录->深蓝色;一般文件->浅灰色;执行文件->绿色;图形文件->紫色;链接文件->浅蓝色;压缩文件->红色;FIFO文件(命名管道)->棕色;设备文件->黄色)】
# 显示文件 file 内容中的行数、单词数、所占字节数等
wc -lwc file # word count[默认输出lwc(按顺序)] -l显示文件行数 -w显示文件单词数 -c显示文件字节量
# 复制文件与目录(树) folder1 file 到目录 folder2
cp -afir folder1 file folder2 # -a保留文件属性 -f强制覆盖 -i提示覆盖 -r 复制目录(有i则f不生效 | cp -i被/root/.bashrc文件别名为cp)
# 移动文件与目录(树) folder1 file 到目录 folder2
mv -bifu folder1 file folder2 # -b不覆盖,重复则在已有目标后加”~“以备份 -f强制覆盖 -i提示覆盖 -u当源文件比较新才会更新
# 创建 target2 指向 target1 的硬软链接
ln (-s) target1 target2 # -s创建软链接,否则创建硬链接
# 连续滚动查看文本文件 file1 file2 的内容
cat -b/n file1 file2 # -b显示内容时为所有非空行加行号 -n显示内容时为所有行加行号
# 分屏显示文件 file 的内容
more/less file # more用分页(按空格翻页)显示,q退出;less用上下左右进行水平或垂直滚动浏览文件,在文件到达尾部时,q退出
# 显示文件 file 的前n行/后n行内容
head/tail -n -c m file -f # 默认n为10行 -c m显示文件的前m个字节内容 -f跟踪日志,保持日志变动刷新(tail,需要-n 行数,ctrl+c退出)
# 查找文件
find [path] -name [name] # path为要查找目录范围(可多个目录) name为查找的名字,,可用通配符查找
{}(用于mkdir、touch批量创建,将不同目录文件和文件夹不同之处括起来)
Linux通配符(用于筛选文件目录【find、rm、cp、mv等命令常用】)
- * 匹配文件名中任意长度的字符串
- ? 匹配文件名中一个任意内容的字符
- [ ] 匹配所有出现在方括号中的字符
- - 指定一个字符集的范围,限定上界与下界
命令别名,使用“\命令使别名不生效”
cat /root/.bashrc
alias rm='rm -i' # 导致cp复制时直接使用 cp -f 将无法强制覆盖
alias cp='cp -i'
alias mv='mv -i'
vi工作模式
vi命令模式大全
vi常用命令模式下的命令
1.删除某一行 dd (在dd前输入数字 n 即可向下删除 n 行)
2.移动到文档最后一行 G
3.移动到文档的开头 gg
4.撤销上一步 u
5.重复上一个查找命令 n
6.相反上一个查找命令 N
7.在当前位置进入编辑模式 i
8.在当前行首进入编辑模式 I
9.光标后移一位并进入编辑模式 a
10.移动到行末并进入编辑模式 A
11.在下方插入行并进入该行且进入编辑模式 o (小写)
12.在上方插入行并进入该行且进入编辑模式 O (大写)
13.复制当前行 yy (在yy前输入数字 n 即可向下复制 n 行)
14.移动光标到行首 0 (数字)
vi常用底线命令模式下的命令(左下角冒号模式或斜杠模式)
1.查看行号 :set nu
2.取消行号 :set nonu
3.跳转到某一行 :行号
4.向当前字符下查找某个字符 /查找的字符
5.向当前字符上查找某个字符 ?查找的字符
6.保存文件 :w
7.退出文件 :q
8.强制执行 ! (例如强制退出不保存 :q! )
斜杠模式)
1.查看行号 :set nu
2.取消行号 :set nonu
3.跳转到某一行 :行号
4.向当前字符下查找某个字符 /查找的字符
5.向当前字符上查找某个字符 ?查找的字符
6.保存文件 :w
7.退出文件 :q
8.强制执行 ! (例如强制退出不保存 :q! )