ls:显示当前目录下文件列表
常用的命令行参数:
-l 显示更多的文件属性
-a 显示所有的文件/目录(包括隐藏的)
-d 只显示目录
ps:参数可以叠加使用。
例如:ls -la 显示所有文件加更多的属性。
隐藏文件(目录)是以点 ‘.’开头的文件,每个目录下都至少有两个隐藏目录:. 和 ..
. 代表当前目录
.. 代表上一级目录
pwd:显示当前的路径
建议每次登录都先输入一下pwd,看看当前的路径
在Windows和Linux中,都有路径的概念,意思是一样的,但路径分割符有所不同
Windows用的路径分割符是 \ 例子: D:\class\107\test.txt
Linux下的路径分割符是 / 例子: /class/107/test.txt
cd:进入指定的目录
cd 路径:能进入到指定的目录底下
这里的路径有分绝对路径和相对路径
绝对路径:使用麻烦,一般在配置文件中使用
相对路径:用起来简单,常用于各种操作
除了指定路径,还有几个便捷的操作:
cd . 进入当前路径(没啥用这个)
cd .. 进入(返回)上一级路径(常用)
cd ~ 直接进入当前用户的“家目录”
cd - 回到你上一次所在的路径
常用热键
tab:双击tab能自动弹出相关的补全信息,可以用来补全指令信息,也可以用来看可用路径
直接tab两下会问你是否展示所有指令信息
Ctrl+c:可以终止程序运行
Ctrl+insert:Linux下的复制
shift+inser:Linux下的粘贴
上下箭头:可以找到历史输入指令
Ctrl + r :可以在历史输入指令中搜索指令
history:可以得到历史输入的所有指令记录
tree: 以树状结构显示Linux执行的目录结构
touch:在当前路径下,创建一个普通文本文件
ps:也可以指定路径创建
touch 指定路径/要创建的文件名称 例如:touch ./chk/chk1/text.c
nano:可以用来打开和编写文件
写完后,Ctrl+x 退出 按y为保存,最后回车出去
cat: 打印输出指令
cat 文件 输出流(默认输出到屏幕上)
参数:
-n 打印时带行号
-s 若有多行空格,只输出一行
输出重定项:>
cat test.txt 会将文件test内容默认输出到屏幕上,我们可以通过输出重定项来改变输出的位置
例如:cat test.txt > ch1.txt 这会将test文件的内容覆盖式输入到ch1文件中
追加重定项:>>
同理,若上面例子改成追加重定项 cat test.txt >> ch1.txt ,则会将test的内容追加到ch1文件原有内容的后面
输入重定项:<
例子:cat 若后面不加文件,则默认从键盘上读取(不断读取,你输入啥,回车后它打印啥)
cat < test.txt <改变了它默认输入流
清空文件内容: 可以将空白内容通过输出重定项,输出到文件中;
例: (空格) > test.txt
gcc:可以用于编译.c文件,生成可执行程序 a.out
例子:gcc test.c
stat:可以获得文件的所有属性
例:stat test.c
mkdir:默认在当前目录下创建一个新的目录
ps:也可以指定路径下创建目录
例如:mkdir ../chk 在上级目录下创建一个名为chk的目录
rmdir:删除空目录(只能删除空的目录)
rm(重要):删除
指令参数:
-r:递归删除(目录只能用递归删除)
-f:强制删除(部分文件会需要确认是否删除,强制删除则不需要确认)
(ps:参数可以同时使用)
man:查找手册
当遇到不懂的指令时,可以使用查找手册查找,可以指定参数(1、2、3...)
例如:man cat 1(默认1,不同参数寻找的手册也不同,可以通过man man去看相关文档知道对应参数对应手册)
echo :输出字符串
例子:echo "abcdr" (默认输出到屏幕)
同cat一样,可以用输出(追加)重定项操作,一个是读文件内容输出(cat),一个是你自定义的字符串(echo)
cp:拷贝
参数:
-r :递归拷贝(拷贝目录)
-f :强制拷贝
mv:剪切或者重命名
mv可以实现剪切功能,也可以实现对文件重命名的功能,两种同时也可以
例子:
剪切: mv ch.c chk 将ch.c文件剪切到chk目录下
重命名: mv ch.c ch2.c 将ch.c文件重命名为ch2.c
剪切+重命名 mv ch.c chk/ch2.c 将ch.c文件剪切到chk目录下并重命名为ch2.c
more(less):以屏幕为限的输出一个文件的内容,可以翻阅、查找
推荐使用less,两者功能相似,less功能上更加强大
q 退出
/ 搜索
head:输出文件的前n行(默认n为10)
例子:
head -n15 ch.txt 输出文件ch的内容里的前15行
(ps:默认输出到屏幕上,若不足十五行,则有几行输出几行)
tail:输出文件的后n行(默认n为10)
例子:
tail -n2 ch.txt 输出文件ch内容的后两行
sort:将文件内容按acsll码值进行排序
排序规则和C语言中strcmp一样,默认升序
-r:逆序排序
uniq:相邻行去重
将相邻的行内容,判断是否重复内容,如果行内容一模一样,则会自动删除重复行
命令行管道 “ | ”
能够将前一个指令输出的数据传输到下个指令中进行执行
例子:cat mylog.txt | head -520 | tail -20 | sort | uniq
将mylog文件的前520行取出传给tail,tail指令将后二十行取出,传给sort进行排序,最后去重
一些零零碎碎的指令
date:显示当前时间
cal:显示当前日历
top:显示任务管理器
bc:计算器,可进行浮点运算
uname:查看当前操作系统的各种属性
grep:行文本过滤工具
能够将包含指定关键字的行文本输出
命令行参数:
-v 不带关键字的行输出
-i 忽略大小写的区别去判断
-n 带行号输出
搜索相关的指令
find:在指定路径下查找文件或者目录
格式:find 路径 文件名(目录名)
which:搜索指令所在的文件路径
whereis:搜索包含“关键字”的文档路径
压缩相关的指令
zip:压缩成后缀为zip的压缩文件
例子:zip test.zip test.txt (zip 压缩后的文件名称 压缩前的文件名称)
参数:
-r 递归压缩(打包目录)
-f 强制压缩
unzip:解压zip为后缀的压缩文件
参数:
-d 解压到指定目录下
例子:unzip test.zip -d 指定目录路径
tar:打包压缩(解压)以tgz为后缀的文件
常用
打包压缩: tar -czf 文件名.tgz 被打包压缩的文件名
例子:tar -czf tmp.tgz tmp
解压:tar -xzf 需要解压的压缩包
例子:tar -xzf tmp.tgz
预览:tar -ztvf 压缩包名字
例子: tar -ztvf tmp.tgz
指定路径解压用参数: -C
总结
本篇总结了对Linux操作系统的一些常见基本的指令操作