目录
pwd√
ls√
cd√
对文件的理解√
which√
alias√
touch√
linux系统目录结构√
mkdir / tree √
rmdir / rm √
man√
nano√
cp√
mv√
cat√
echo√
linux设计理念和三种重定向总结√
more/less√
head/tail√
wc√
uniq√
date / cal√
find√
zip/unzip√
tar√
bc√
uname -r√
热键√
pwd√
功能:查看当前所在目录
ls√
功能:查看当前目录下有哪些文件(ls只查看文件名)
选项:
① ls -l (ll 是 ls -l 的缩写) 以列表形式查看文件更加详细的信息
② ls -a -l 或 ls -l -a 或 ls -al
显示当前目录下的所有文件,核心在于显示隐藏文件, 不带a就不显示隐藏文件
ps:linux指令的选项大都可以互换位置,或者写在一起
cd√
1) cd 目录 进入到指定目录中
2) cd .. 表示目录的回退 (.. 表示上一级目录)
3) . 表示当前目录
举个例子~
要运行a.out, 必须使用 ./a.out, 因为一个程序要被运行必须先要加载到内存中去,前提是要先找到a.out, 而./就是在说我要运行的程序就在当前目录下,就可以找到然后加载到内存中了~
4) cd ~ 进入到当前用户的家目录中
家目录又叫主工作目录,windows下的桌面就是登录用户的家目录
5) cd -
对文件的理解√
1) 文件 = 内容 + 属性 , 因此所有对文件的指令操作,无非就是内容 或者 属性, ls 就是查看文件配套的属性,而 cat 指令是对文件的内容操作
2) 在磁盘上创建一个空文件,需要占据磁盘空间。 因为虽然没有内容,但文件属性(大小,创建时间,类型等)也是数据,需要保存下来
3)改变文件内容往往也会改变文件属性,因为改变文件内容了,文件的大小,修改时间这些属性也会随之改变
which√
功能:用来查看指令所在目录
ps:指令本质也是linux系统特定目录下的可执行程序
alias√
功能:给指令起别名
touch√
功能:创建普通文件
linux系统目录结构√
1)多叉树结构:一个目录底下可以包含多个目录或者普通文件
① 叶子节点一定是普通文件或者空目录
② 路上节点一定是目录
③ 普通文件一定是叶子节点
2)路径分隔符/路径/根目录/相对路径/绝对路径
路径分隔符: /
路径: 由 / 隔开的目录组成路径
根目录: / 是linux下的根目录
绝对路径:从根节点开始的一串路径, 任何时候都是正确的
相对路径:相对于当前位置的一串路径, 当前位置变了,相对路径就会变化了
mkdir / tree √
功能:
1) mkdir dir : 创建目录
2) mkdir -p 路径
3) tree dir:以树状结构展示以dir为根的包含下面的所有目录和文件
rmdir / rm √
1) rmdir 只能删除空目录,不能删除普通文件或者非空目录
2)rm 可以删除空目录/非空目录/普通文件
①rm 普通文件
②rm -r 目录 递归式删除目录
③ rm -f 普通文件 / rm -rf 目录
-f 表示强制删除,这样命令行解释器就不会再进行和用户的交互了
④ rm -rf ./* 表示删除当前目录下的所有文件
man√
man是一个在Linux系统中可以查看对应的开发尤其是操作系统的系统接口和C语言接口的
nano√
nano是一款文本编辑器,类似于windows下的记事本
ctrl + x + Y + 回车 退出
cp√
cp指令是用来进行拷贝文件/目录的
mv√
1) 剪切
2)重命名
总结: mv src dst 当dst存在就是剪切,dst不存在就是重命名
cat√
cat 是用来打印文件内容的
选项:
cat -n 将打印的内容带上行号
cat -s 将相邻的多行空行压缩成一行
cat -b 只对非空行带上行号
echo√
1) echo 内容 直接向显示屏打印内容
2) echo 内容 > 文件 向文件中写入内容
linux设计理念和三种重定向总结√
1. linux下一切皆文件, 一切都可以看成文件,包括显示器和键盘,这种设计使得我们能够以统一的方式处理所有设备, 简化了使用成本
2. > 称为输出重定向,本来默认写入到显示屏文件上的内容写入到了普通的文件test.c中,这就是"输出重定向"的含义
3. 从上图可以看到,第二次写内容到test.c中,原始内容被清空了,类似于c语言里面以"w"方式打开文件的操作, 利用这一点,我们可以用 > 做两件事情
a.清空文件内容
b.创建新文件
4. >> 叫做追加重定向,不会清掉文件原始内容,而是追加在源文件内容后面
5. 输入重定向
1) 只输入cat,发现无论输入什么,都会在显示器上输出什么。本质就是cat默认从键盘上读取内容然后打印到显示器上
2) cat < 文件 会从文件中读取内容打印到显示器上
3) 本来默认从键盘读取内容,经过 > 变成了从普通文件中读取内容,这就叫做输入重定向
more/less√
当文件内容比较多的时候,直接用cat打印出来会刷屏,因此就有了more/less指令,可以只把一屏显示满就停下来, more支持下翻,less支持上下翻,功能更多一些,因此我们更常用less
less也支持搜索功能: / : 向下搜索 ?: 向上搜索
head/tail√
有时只想查看一个大文件的前面一小部分或者后面一小部分,这时就可以直接用head/tail
如果想查看中间某一部分呢??? 比如要查看500行到510行, 我们可以先用head -510取到前510行,写入临时文件,再用tail -10 取到 500-510行
生成临时文件确实有些麻烦,我们引入一个新的知识点,叫管道
管道的作用就是集连多条具备输入输出特性的指令,将上一个指令的输出结果作为下一个指令的输入结果,从而完成类似流水线处理的工作
wc√
wc --> word count 统计文件中的行数,单词数,字节数等
uniq√
uniq是用来对相邻行的信息做压缩去重, 注意是相邻行, 因此uniq搭配sort可以起到删除的作用
date / cal√
1) date 直接按照linux标准格式显示的时间
2) date +%Y-%m-%d_%H:%M:%S 这才是我们喜欢的时间格式
3) date +%s 显式时间戳
时间戳指的是从1970年01月01日00时00分00秒 到现在累计的秒数
4)date -d@时间戳 可以将时间戳转化成年月日时分秒
5) cal用来查看日历
cal 年份 查看某一年的日历
find√
find指令用来查找指定路径下的文件
grep√
grep是用来行过滤的
grep也可以在多个文件中过滤
选项:
1)-n 带行号
2) -i 忽略大小写进行过滤
3) -v 反向过滤 把匹配的过滤掉,没有匹配的留下来
上面的选项也可以任意组合~
zip/unzip√
打包和压缩在计算机世界时很常见的,打包是为了防止网络传输的过程中文件丢失,而压缩则是为了提高传输速度,提高传输效率
压缩:: zip 压缩包名称 打包的文件集合
指定路径解压:
tar√
除了zip/unzip可以打包压缩以及解压解包之外,tar也是可以的
bc√
bc是一个命令行级别的计算器指令
bc更多的是结合管道进行一些简单的运算
uname -r√
uname -r 指令是用来查看计算机体系结构以及操作系统的内核版本的~
热键√
1. ctrl+r 可以对历史指令进行搜索, 只需要输入历史曾经输入过的指令的判断,就可以选择了~
2. Tab 自动补齐指令,可以输入指令开头的几个字母,按 Tab 键 可以自动补齐或者弹出若干指令
3. ctrl+c 常用于手动终止失控程序或者刷屏情况
4. ctrl+d 可以退出登录,再次ctrl+d直接退出xshell