“Linux-2020-spring-3-18”的版本间的差异
跳到导航
跳到搜索
(→文件编辑器) |
|||
| (未显示同一用户的5个中间版本) | |||
| 第1行: | 第1行: | ||
== 回顾上节课的内容 == | == 回顾上节课的内容 == | ||
| − | + | 命令的语法 | |
| − | + | cmd [opt]... [arg]... | |
| − | + | linux下大小写区分(-r reverse;-R recursive) | |
| − | + | 选项推荐写到参数的前面 | |
| + | 简单命令 | ||
ls -l | ls -l | ||
rwx r-x --- | rwx r-x --- | ||
| 第11行: | 第12行: | ||
== 文件操作 == | == 文件操作 == | ||
| − | + | cp的几种用法 | |
| − | + | man cp | |
| − | + | -t (target的意思) | |
| − | + | cp a.txt b.txt (a.txt,b.txt 命令行参数command-line arguments) | |
| − | + | cp a.txt b.txt Downloads/ | |
| − | + | 能不能用C语言写一个简化版的cp命令,思考命令行参数的处理 | |
| − | + | int main(int arga,char *argc[]) | |
| − | + | whereis cp | |
| − | + | /usr/share/man/man1/cp.1.gz (1表示这个命令的类别:user command就对应1) | |
| − | + | /usr/share/man/man1/printf.1.gz (printf命令) | |
| − | + | /usr/share/man/man3/printf.3.gz(printf库函数,C语言) | |
| + | /bin/cp 这个命令的可执行文件,文件大小为126K(好复杂,说明功能很多) | ||
| + | hexdump -C /bin/cp | less 看二进制文件的内容(十六进制);管道以后会讲(| less) | ||
| + | hexadecimal | ||
| + | decimal | ||
| + | octal | ||
| + | binary | ||
| + | |||
| + | mv | ||
| + | mv x.c Downloads/ | ||
| + | |||
| + | mkdir | ||
| + | mkdir -p newdir/newdir/newdir 会创建三个嵌套的目录 | ||
| + | |||
| + | rmdir 删除空目录 | ||
| + | |||
| + | rm 删除文件或目录 | ||
| + | -f --force | ||
| + | -i (interactive) | ||
| + | -r, -R, --recursive | ||
| + | |||
| + | AM 上午Ante Meridiem | ||
| + | PM 下午post meridiem | ||
| + | |||
| − | + | tab键自动补全文件名或命令名 | |
| − | |||
== 文本文件查看命令 == | == 文本文件查看命令 == | ||
| − | + | ||
| − | + | ||
| − | + | 文本文件 vs. 二进制文件 | |
| − | + | 文件中包含的字符都(绝大多数)是可见字符,则为文本文件 | |
| − | + | ||
| − | + | cat 拼接(concatenate) | |
| − | + | 不跟参数的时候,默认将标准输入stdin的内容输出到标准输出stdout | |
| − | + | ||
| + | tail | ||
| + | tail -n 3 a.txt 显示后三行 | ||
| + | tail -f a.txt:监控文件,很常用 | ||
| + | |||
| + | wc(word count) | ||
| + | -n -c -w | ||
| + | |||
| + | head -n 3 a.txt | ||
| + | |||
| + | less 分屏显示 | ||
| + | less is more,比more命令更强大 | ||
| + | 上下箭头 按行移动; | ||
| + | 空格 forward翻屏 | ||
| + | ctrl + f/b forward/backward翻屏 | ||
| + | /regex 字符串或者正则表达式 进行搜索 | ||
| + | |||
| + | man:在线文档 | ||
| + | online在线;离线offline | ||
| + | 可以查看9个类别的文档 | ||
| + | 1 用户命令 | ||
| + | 2 系统调用(内核函数) | ||
| + | 3 库函数 | ||
| + | 7 杂项 miscellaneous(macro宏;micro微) | ||
| + | 8 系统管理员命令,root可以调用 | ||
| + | man命令显示显示结果时,就用less分屏 | ||
| + | 上课中出现了不能自圆其说的地方:我们把man.1.gz的文本文件另存为txt文件,然后用less直接打开,发现显示和man man的结果并不一样。 | ||
| + | 也就是说,man命令显示结果时,在分屏之前,应该还有一个什么命令,对格式进行解析。 | ||
| + | 输入man man 的时候就会将man的说明文档调入,用less显示 | ||
| + | 输入 man printf (如果未指定数值,会看printf作为命令的帮助文档) | ||
| + | man 3 printf C语言的库函数printf | ||
| + | man -f printf 非常简洁的说明 | ||
| + | man -k search 查找包含search的文件 | ||
| + | |||
| + | printf作为用户命令 | ||
| + | $ printf "hi\n" | ||
| + | $ printf "hi%d%/10f\n" 10 1.32 | ||
| + | |||
== 文件编辑器 == | == 文件编辑器 == | ||
| − | + | ||
| − | + | vim (Vi IMproved) | |
| − | + | 下节课 | |
| − | + | 必须要掌握一个好的文本界面下的文本编辑器 | |
2020年3月18日 (三) 03:22的最新版本
回顾上节课的内容
命令的语法
cmd [opt]... [arg]...
linux下大小写区分(-r reverse;-R recursive)
选项推荐写到参数的前面
简单命令
ls -l
rwx r-x ---
user(owner) group others
文件操作
cp的几种用法
man cp
-t (target的意思)
cp a.txt b.txt (a.txt,b.txt 命令行参数command-line arguments)
cp a.txt b.txt Downloads/
能不能用C语言写一个简化版的cp命令,思考命令行参数的处理
int main(int arga,char *argc[])
whereis cp
/usr/share/man/man1/cp.1.gz (1表示这个命令的类别:user command就对应1)
/usr/share/man/man1/printf.1.gz (printf命令)
/usr/share/man/man3/printf.3.gz(printf库函数,C语言)
/bin/cp 这个命令的可执行文件,文件大小为126K(好复杂,说明功能很多)
hexdump -C /bin/cp | less 看二进制文件的内容(十六进制);管道以后会讲(| less)
hexadecimal
decimal
octal
binary
mv
mv x.c Downloads/
mkdir
mkdir -p newdir/newdir/newdir 会创建三个嵌套的目录
rmdir 删除空目录
rm 删除文件或目录
-f --force -i (interactive) -r, -R, --recursive AM 上午Ante Meridiem PM 下午post meridiem
tab键自动补全文件名或命令名
文本文件查看命令
文本文件 vs. 二进制文件
文件中包含的字符都(绝大多数)是可见字符,则为文本文件
cat 拼接(concatenate)
不跟参数的时候,默认将标准输入stdin的内容输出到标准输出stdout
tail
tail -n 3 a.txt 显示后三行 tail -f a.txt:监控文件,很常用
wc(word count)
-n -c -w
head -n 3 a.txt
less 分屏显示
less is more,比more命令更强大 上下箭头 按行移动; 空格 forward翻屏 ctrl + f/b forward/backward翻屏 /regex 字符串或者正则表达式 进行搜索
man:在线文档
online在线;离线offline
可以查看9个类别的文档
1 用户命令
2 系统调用(内核函数)
3 库函数
7 杂项 miscellaneous(macro宏;micro微)
8 系统管理员命令,root可以调用
man命令显示显示结果时,就用less分屏
上课中出现了不能自圆其说的地方:我们把man.1.gz的文本文件另存为txt文件,然后用less直接打开,发现显示和man man的结果并不一样。
也就是说,man命令显示结果时,在分屏之前,应该还有一个什么命令,对格式进行解析。
输入man man 的时候就会将man的说明文档调入,用less显示
输入 man printf (如果未指定数值,会看printf作为命令的帮助文档)
man 3 printf C语言的库函数printf
man -f printf 非常简洁的说明
man -k search 查找包含search的文件
printf作为用户命令
$ printf "hi\n" $ printf "hi%d%/10f\n" 10 1.32
文件编辑器
vim (Vi IMproved)
下节课 必须要掌握一个好的文本界面下的文本编辑器