程序:(指令+数据)
计算机由:CPU(运算器、控制器)、存储单元、输入输出设备组成。
机器语言->微码(汇编)->中间层API
Linux应用基本原则:
- 由目的单一的小程序组成
- 一切皆文件
- 尽量避免捕获用户接口
- 配置文件保存为纯文件格式
执行框图
linux基本指令:前置#(管理员) ,$(普通用户)
命令操作: #commond options arguments
命令 选项 参数
目录:路径映射文件
绝对路径: 目标文件相对于根目录的路径
相对路径: 目标文件相对于当前目录的路径
目录管理命令
pwd(Printing Working directory) 显示当前路径
ls(list) 显示当前路径下文件目录
-l: //长格式
drwxr-xr-x 4 root root 4096 02-12 19:33 185
文件类型|文件权限|硬链接次数|属主|属组|大小|时间戳|文件名
文件类型:
- 普通文件
d 目录文件
b 块设备文件
c 字符设备文件
l 符号链接文件
p 命令管道文件
s 套接文件
文件权限:
(3(属主)-3(属组)-3(其他)) rwx(读写执行)
时间戳:(最近一次修改的时间)
-h //做大小单位转换
-a //显示所有文件(包括隐藏文件(以.开头)),包括当前目录和上级目录文件
-A //同上,不包含.和..
-d //显示目录自身属性
-r //逆序显示文件
-R //递归显示子文件(包括目录下文件)
cd(change directory) 切换当前目录
不加参数 //回到主目录
~ 用户名 //指定用目录
- //在当前目录和上一次目录来回切换
.. //上层目录
mkdir 创建目录
mkdir 文件名参数
-p 创建父目录
-v 显示详细错误
//命令行展开{}
rmdir 删除目录
rmdir 文件名参数
-p 一线单程 (删除的文件没有同级文件,父目录删除
tree 显示目录树
tree 目录
文件管理
touch 文件创建
touch 文件创建|改时间戳
stat 显示文件状态
stat 文件参数名 //显示文件状态,包括时间戳
file 辨识文件类型
file 文件名参数 //辨识该文件的类型
rm 删除文件
rm 文件名参数 (自带隐藏属性-i,管理员提醒)(命令前加\取消隐藏属性)
-f 强行删除
-r 递归删除目录下文件
cp(copy) 复制
cp 源文件 目标文件 (只能出现一个目标文件(最后一个))
-r 递归目录
-P 默认复制文件,-P复制链接
-f 强制复制
-a 归档,常用于备份
mv(move) 移动
mv 源文件|目录 目标文件|目录 (复制过去有执行权限)
mv a.c b.c //把a.c改名为b.c
文件处理
cat、more 、less、head、tail 查看文件内容
cat 文件名参数
-n //在显示时对每一行进行编号
-E //每行显示$换行符
*******在文档里 //shift+(uo,down)上下翻屏
more 文件名参数
//空格向后、文件尾自动退出
less //同上,文件尾不退出
head -n 文件名参数 //查看前n行
tail -n 文件名参数 //查看后n行
-f 文件名参数 //可显示在不同终端下新增的内容
cut(剪切文本一部分显示)
cut -d : -f 1 文件名参数
指定分隔符 分隔符 指定显示几个 一个字段
默认<space>
join(指定内容行连接)
join 文件名1 文件名2
-a1 //显示左边文件所有记录
-a2 //显示右边文件所有记录
-o 1(第几个文件).1(第几个字段)
sort(文件内部排序)
sort 文件名参数 (按ascall码来排序)
-n //(数值排序)
-r //(逆序)
-t '-' //(字段分割符)配合-k
-k //第几列.配合-t
-u //去掉重复多余的
-f //忽略字符大小写
uniq(文本排序)
uniq 文件名参数 (忽略重复相邻行)
-d //只显示重复相邻行
-D //显示所有的重复相邻行
-c //报告重复行次数(每行)
wc(word count)(文本统计)
wc 文件参数 (显示几行 几个单词 几个字节)
-l //只显示行
-w //只显示单词
-c //字节数
-L //最长的一行包含了多少字符
例:[root@jsetc 185]# wc text.c
8 7 34 text.c
tr(转换或删除字符)
tr 选项 字符集1 字符集2 (把字符集1中的换成字符集2)
两个字符集一一对应
可利用<来对文件操作(屏幕显示有变化,文件内容不变)
tr -d 'ab' < a.c //文件内部所有a,b删除
例 :[root@jsetc 185]# cat text.c
12
123
2134
12414
mao
hello
find
[root@jsetc 185]# tr -d '1' < text.c
2
23
234
244
mao
hello
find
-d //删除
其他
type 显示命令属于哪种类型
内置命令 //shell内置(带shell)
外部命令 //在文件系统的某个路径下有一个命名名称相对于的可执行文件
man 命令手册
man man //分章节
1、用户命令(/bin、/usr/bin、/usr/local/bin)
2、系统调用
3、库用户
4、特殊文件(设备文件)
5、文件格式(配置文件的语法)
6、游戏
7、杂项
8、管理命令(/sbin、/usr/sbin、/usr/local/sbin)
手册操作:
向后翻一屏 //space
向前翻一屏 //b
向下翻一行 //Enter
向前翻一行 //k
查找关键字 (n下一个,N前一个,不区分大小写)
/关键字 //向后
?关键字 //向前
q(退出)
data、 clock 显示时间
data //显示当前软件时间(系统时间)rtc
hwclock //显示当前硬件时间(主板纽扣电池断电运行)
将硬件时间改为系统时间 hwclock -w
将系统时间改为硬件时间 hwclock -s
cal 显示年历
例: cal 2013 //显示2013年年年历
cal 12 2020 //显示2020年12月份日历
echo、printf 显示参数
[root@jsetc /]# echo "Hello"
Hello //默认换行符
[root@jsetc /]# printf "Hello"
Hello[root@jsetc /]# //默认无换行符