linux简单入门(第一周无奈总结)
Linux基础(一)
Author:fengciaimei 2020-03-22
一、操作系统
OS=Kernel+Applications
Kernel:操作系统的核心,最新的Linux内核是5.5.11。
Applications:为用户提供各种各样的生产环境,其中shell是一种特殊的应用,它可以调用别的执行程序,同时也是一种命令解释器。
二、Shell介绍
1、shell分类:
GUI:图形用户交互界面 CLI:命令行交互界面
Windows manager sh/bash
GNOME ksh
KDE csh/tcsh
XFCE zsh
2、命令提示符
在bash当中默认有两种提示符:
# 系统管理员(root)
$ 普通用户
配置文件:
/etc/bashrc 针对所有用户
~/.bashrc 针对具体某个用户
环境变量PS1:
Centos默认: [\u@\h \W]\$
花式用法:
PS1="\[\e[1;32m\][\[\e[0m\]\t\[\e[1;33m\]\u\[\e[36m\]@\h\[\e[1;31m\]\W\[\e[1;32m\]]\[\e[0m\]\\$"
提示符介绍:
3、命令执行
命令在linux当中区分大小写。分为内建命令和外部命令,通过type COMMAND查看命令是否是内建命令。
执行优先级:
别名>内建命令>hash缓存中外部命令>外部命令
内建命令:就是shell程序自带的命令。
help/enable 显示内建命令列表
enable COMMAND 启用内建命令COMMAND
enable -n COMMAND 禁用内建命令COMMAND
enable -n 显示所有已经禁用内建命令
外部命令:在文件系统路径下有对应的可执行程序文件。
系统在执行外部命令后,会把命令路径记录在hash缓存中,用以提高执行效率,系统重启或重新登录后会清空hash缓存。
命令路径发生变更找不到命令的情况下需要清理hash缓存。
♦ hash 显示hash缓存
♦ hash –l 显示hash缓存,可作为输入使用
♦ hash –t name 打印缓存中name的路径
♦ hash –d name 清除name缓存
♦ hash –r 清除缓存
4、命令格式及符号
COMMAND [OPTIONS…] [ARGUMENTS…]
选项:用于启用和关闭命令的某个功能,部分选项需要带参数
短选项:-h -v -l 多个短选项可以合并
长选项:--help --verbose --human-readable
参数:命令的作用对象
比如文件名,用户名等
注意
多个选项以及多参数和命令之间使用空白字符分隔
取消和结束命令执行:Ctrl+c,Ctrl+d
多个命令可以用;符号分开
一个命令可以用\分成多行
“” 弱引用,双引号内变量具有具体意义。
‘’ 强引用,单引号内变量只能当作字符串处理
`` 等同于$() 命令替换,而且反引号内的内容优先执行
{} 命令展开,{起始值..终止值..步长},步长可以省略,起始值可以定义显示格式
例如echo a{1..5}会得到 a1 a2 a3 a4 a5
5、命令别名
alias定义别名,主要用于简化输入命令的长度,避免键入出错。
alias 单一个alias后面什么也不跟,用查询系统所有已定义的别名
alias 别名=“原始命令数据” 定义别名
alias -p 显示出当前系统上已经定义过的别名列表
调用原始命令的方法:
\ALIASNAME
‘COMMAND'
"COMMAND"
/PATH/TO/COMMAND
6、命令历史
系统会在缓存中记录每一条执行过的命令,退出登录时会把缓存中的历史命令追加在~/.bash.history文件中。每次重新登录时,系统会从./bash_history文件中读取历史命令到缓存中。可以通过history命令查看系统已经记录的历史命令。
配置文件:
/etc/profile
~/.bash_history
相关环境变量:
HISTSIZE: 命令历史记录的条数
HISTFILE: 指定历史文件,默认为~ /.bash_history
HISTFILESIZE: 命令历史文件记录历史的条数
HISTTIMEFORMAT: 记录命令历史的格式
Eg: HISTTIMEFORMAT="%F %T `whoami` "
HISTCONTROL: 控制命令历史的记录方式
♦ ignoredups 默认,忽略重复的命令,连续且相同为“重复”
♦ ignorespace 忽略所有以空白开头的命令
♦ ignoreboth 相当于ignoredups, ignorespace的组合
♦ erasedups 删除重复命令
历史命令调用:
!# 执行history命令输出对应序号#的命令
!-# 执行history历史中倒数第#个命令
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含string的命令
重复前一个命令,有4种方法:
复前一个命令使用上方向键,并回车执行
按 !! 并回车执行
输入 !-1 并回车执行
按 Ctrl+p 并回车执行
调用前一个命令最后一个参数:
!$ 表示
Esc, .(点击Esc键后松开,然后点击 . 键)
Alt+ .(按住Alt键的同时点击 . 键)
7、tab键补全
命令补全:
路径补全:
8、bash快捷键
ctrl+l 清屏
ctrl+d 退出BASH
ctrl+s 锁定屏幕输出
ctrl+q 解锁屏幕输出
ctrl+c 强制终止命令
ctrl+u 删除当前光标之前的所有字符
ctrl+k 删除当前光标之后的所有字符
ctrl+a 移动光标到当前行最前
ctrl+e 移动光标到当前行最后
ctrl+z 挂起
9、命令帮助
新装系统是没有whatis的数据库的。需要使用mandb生成数据库
mandb 在centos7及以上版本更新数据库
makewathis 在centos6及一下版本中更新数据库
帮助文件存在/usr/local/share/目录当中
wathis 查看帮助文件在帮助的第几章节
内部命令可以简单使用
help命令查看
man bash
在帮助中
[] 表示可选项或参数,
[arg...] 表示可以使用多个选项参数
arg1|arg2] 其中|表示可以二选一或者多选一
{} 表示分组
<> 表示必选的数据
man命令介绍
1、用户命令
2、系统调用
3、C库调用
4、设备文件及特殊文件
5、配置文件格式
6、游戏
7、杂项
8、管理类命令
9、Linux内核API P相关的
/ 从上往下搜 n下一个 N上一个
? 从下往上搜 n上一个 N下一个
man 5 passwd 只是查看第5章的帮助
man -a passwd 查看所有章节的帮助
man -k STRING 在whatis数据库当中搜索STRING相关的man帮助
man -w 5 passwd 查看passwd第5章的帮助文件位置在哪,建议使用whereis查看
info命令介绍
类似man
三、文件系统
咕咕咕,这部分被我好不留情的鸽子掉了。
🕊🕊🕊🕊🕊🕊🕊🕊🕊🕊
🕊🕊🕊🕊🕊🕊🕊🕊🕊🕊
以下部分未整理完,待更
.的是隐藏文件
蓝色表示目录,绿色表示可执行文件,黄色表示设备文件,红色表示压缩文件,浅蓝色表示链接文件,灰色其它文件
/etc/DIR_COLORS文件中定义了ls --color显示结果各种文件的颜色
linux文件类型
- 普通文件file
d 目录directory
b 块设备block
c 字符设备character
l 软连接link
s 套接字socket
p 管道文件pipe
7中类型
关于目录
/etc/sysconfig/network-scripts
/etc/sysconfig是dirname 父目录
network-scripts是bashname 基名
cd 回到家目录
cd ~ 回到家目录
cd ~lt 回到lt的家目录
cd - 回到上一次所在目录
cd .. 上一级目录
相对路径和绝对路径
绝对路径
以正斜线/即根目录开始的写法就是绝对路径
相对路径
相对于当前目录的写法就是相对路径
./ 表示当前目录
../ 表示父目录