Linux-2020-spring-3-18
跳到导航
跳到搜索
回顾上节课的内容
命令的语法
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)
下节课 必须要掌握一个好的文本界面下的文本编辑器