Linux基本指令
- ls 浏览目录中的内容,默认浏览当前所在目录 (目录=文件夹)
当第一次打开终端时,默认会处于一个目录下,这个目录称之为家目录(每个用户都有一个)
ls -a:查看所有文件,包括隐藏文件(Linux下以 . 命名开头的文件都是隐藏文件)
ls -l:查看文件的长信息,详细信息。浏览当前目录下文件的详细信息
drwxrwxr-x. 4 dev dev 52 2月 12 2019 install
文件类型 文件权限 链接数 用户名 所属组 大小
d:7种文件类型-目录类型的文件=文件夹
-:普通文件
ls -lh:人性化显示 human
-
pwd:显示当前所在目录的路径(绝对路径)
Linux下目录结构唯一 - 树形结构
目录结构与磁盘分区的多少没有关系
/ 根目录
. 当前所在路径 /home/dev
… 当前所在路径的上一层路径 ./
绝对路径:起始路径从根目录表达的路径,唯一路径
相对路径:起始路径从当前目录表达的路径 -
mkdir:创建目录
mkdir test/abc/bcd -> 创建bcd这个目录(./test/abc/bcd这是一个路径)
mkdir -p ./test/abc/bcd 递归多层级创建目录,自外而内,哪一层不存在则创建哪一层 -
rmdir:删除目录(无法删除非空目录)
rmdir -p ./test/abc/bcd/ 递归多层级删除目录,自内而外,哪一层为空则删除哪一层 -
rm:默认删除普通文件,而不是删除目录
rm -r:递归删除目录下所有文件,包括目录自身
rm -ri:递归删除目录下所有文件,并增加提示信息(先逐层进入,再从里到外逐层删除)
rm -rf:忽略提示信息,直接操作
rm ./:删除当前目录下的所有文件
rm /:删除根目录下的所有文件 (Ctrl+C - 中断操作) -
cp:将一个文件向指定位置拷贝一份
cp /ext/passwd ./nihao 将/ext/passwd路径下的passwd文件拷贝到当前目录下,并重命名为nihao
cp -r /test ./tmp 递归复制目录下所有文件,包括目录自身(文件夹不能直接拷贝,需递归)
调研根目录下文件都有什么含义 -
mv:剪切文件/目录,将一个文件/目录移动到指定路径下
-i:增加提示信息
mv passwd ./test/ 将passwd文件剪切到./test/路径下
mv test/ tmp/abc 将test目录剪切到tmp目录下,并重命名为abc
mv passwd ./nihao 移动到当前目录下,可用于改名字 -
cd 改变当前路径
cd ~:快速返回当前用户的家目录
普通文件相关命令:Linux下的文件并不以后缀名区分
- touch yang.txt
若文件不存在则创建新的空文件,若文件存在则刷新文件的时间属性
touch -d “2018- 01- 24 16:20:00” yang.txt:使用指定时间刷新文件的时间属性
将文件的访问时间和修改时间都改为指定时间(时间需要加"",要不系统将创建16:20:00文件) - stat 文件:查看文件属性
access:最近访问时间
modify:最近修改时间
change:最近状态改变时间 - cat:打印文件内容到终端显示
cat -n:增加行号 - more:对文件内容进行分页显示
回车向下滚动;空格向下翻页;q退出;Ctrl+B向上翻页;Ctrl+F向下翻页 - less:对文件内容进行分页显示
Ctrl+B向上翻页;Ctrl+F向下翻页;j/k上下按行滚动;q退出
/string:在文件内容中向下匹配string字符串( n下一个匹配位置)
?string:在文件内容中向上匹配string字符串( n下一个匹配位置) - head:默认显示文件的前十行内容
head -n num passwd:默认显示文件passwd前num行内容 - tail:默认显示文件末尾十行内容
head -n num passwd:默认显示文件passwd末尾num行内容
tail -f passwd:持续等待刷新文件末尾新内容 (Ctrl+C 中断操作)
stdin:标准输入=键盘
stdout:标准输出=显示器(向标准输出写数据,把数据交给显示器打印出来)
stderr:错误输出=显示器,将错误信息显示在显示器上
文件的压缩/解压缩命令 :
-
zip/unzip:zip格式的压缩解压缩命令
zip passwd.zip a.txt b.txt:zip后面要紧跟压缩包名称,然后在加上要压缩什么文件
将a.txt和b.txt文件压缩到
unzip passwd.zip:解压缩
dd if=/dev/zero of=./hello.txt bs=100M count=1
if(inputfile) of(outputfile)从输入文件/dev/zero中拷贝数据,拷贝到输出文件./hello.txt中去,拷贝一块大小为100M,一共拷贝一块。(从输入文件中拷贝100《M的数据到输出文件中) -
gzip/gunzip:gzip格式的压缩解压缩格式(删除原文件,在原文件后跟后缀名)
gzip passwd a.txt 将passwd和a.txt分别压缩 -
bzip2/bunzip2:bzip2格式的压缩解压缩格式
-
tar:可以将大量的目录/文件进行打包生成一个文件,也可以在打包/解包的同时进行压缩和解压缩
-c:打包 -x:解包
-v:打包/解包的同时显示详细信息(显示打包或解包了哪些文件)
-f:将打包后的数据写入到文件当中。必备选项——打包解包时指定压缩包名称,通常是最后一个选项,因为其后紧跟压缩包名称
-z:打包/解包的同时进行gzip格式的压缩/解压缩
-j:打包/解包的同时进行bzip2格式的压缩/解压缩
tar -czvf test.tar.gz file1 file2 ……(tar -xzvf test.tar.gz)
在打包的同时进行gzip格式的压缩,并显示打包了哪些文件,最后将打包后的数据写入到test.tar.gz中。(tar -xvf test.tar.gz:解压时把格式去掉,系统会自己检测)
tar -cjvf test.tar.bz2 file1 file2 ……:在打包的同时进行bzip2的压缩
文件的匹配查找命令:
-
find:在指定路径下查找文件
find ./ -name “test”:在当前路径下查找文件名称中有test的文件
find ./ -d:要查找的目录深度
find -amin n:文件最后一次被访问的时间在n分钟之前
find -atime n:最后一次访问时间在n天之前
find -mtime n:按最后一次修改时间查找文件
find -ctime n:按最后一次状态改变时间查找文件
find -size n:通过文件大小来查找
find ./ -size +50M:在当前路径下查找大于50M的文件 -
grep:在文件内容中匹配包含有指定字符串的行
grep -i “字符串” 文件名:忽略大小写进行匹配
grep -v “字符串” 文件名:反向匹配,匹配哪些不包含指定字符串的行
grep -iv “字符串” 文件名
grep -R “字符串” 路径:grep -R “string” ./
对指定的路径下的所有文件进行内容匹配
其他命令: -
ifconfig查看虚拟机网卡地址
ipconfig在window下查看网卡信息
名称:具有标识性,一般为IP地址
主机:虚拟机中的ens33这块网卡的虚拟地址 -
man 查看手册 (man ls)
-
su 切换用户 (su 用户名称)
-
Ctrl+C 中断当前操作
-
echo 打印一串数据到终端显示
-
输出重定向=(把前边要写入到标准输出的数据写入到新的文件当中,改变数据流向)
(>>)输出重定向符号,将原本要写入标准输出的数据追加到新文件末尾
(>)输出重定向符号,清空文件内容,将原本要写入标准输出的数据写入文件
ls >> a.txt 将ls打印的内容追加到文件末尾 echo yangyuanyuan >> a.txt -
|:管道符:连接两个命令,将前边命令的输出结果作为后边命令的输入进行处理
head -n 3 passwd | tail -n 1:打印文件的第三行 -
Ctrl+C:终端当前操作
-
TAb:命令操作的文件名自动补全
-
shutdown -h now:立即关机
reboot:重启
shell:
操作系统:系统内核+外部应用
系统内核是不允许用户直接操作,因此操作系统向外提供了一系列的函数接口——系统调用接口
通过这些函数,可以让用户告诉操作系统自己想干什么
因为系统调用接口不好用,因此大佬们将常见的功能直接进行接口封装,封装成一个个的程序,用户想要完成什么功能,直接运行程序就可以了。把这些一个个的程序称之为shell命令