想要有顺序地学习Linux,入口在这里哦:Linux:目录索引
常用指令
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
★ cat -n 文件 显示行号
★ tac 文件 逆序显示文件内容
逆序不可以加 -n
★ more 分屏显示文件内容
sapce 向下翻屏
b 向上翻屏
q 退出
★ less 分屏显示文件内容,支持查找
n 查找下一个
N 查找上一个
q 退出
★ head 缺省查看文件前10行
-n数字 如:-n2 只查看前2行
当n后面的数字大于总行数的时候,只打印所有行,不会额外打印空格
当n后面的数字小于0的时候,打印(总行数+数字)行
★ tail 查看文件尾部若干行(必须在-n后面加数字,没有缺省值)
-n数字 如:-n2 只查看后2行
当n后面的数字大于总行数的时候,只打印所有行,不会额外打印空格
不论n后面的数字是正是负,都打印后(|数字|)行
★ echo
eg:echo hello world 会在屏幕上打印hello world,并且会忽略多余的空格,只会打印一个空格
★ > 输出重定向
eg:echo abcd > tmp 将abcd保存在文件tmp中,会覆盖tmp中的内容,如果没有tmp则创建tmp
★ >> 带有追加效果的输出重定向
eg:echo 1234 >> tmp 将1234追加在文件tmp中,不会覆盖原内容,如果没有tmp则创建tmp
★ seq 1 100 打印1到100,一行显示一个数字
★ seq 1 100 > tmp
head -n50 tmp | tail -n1 //管道 “|”
将tmp中的前50行保存在管道中,再将管道中的最后一行打印,最终能实现打印tmp中第50行的数据
cp 拷贝
★cp src dst
源和目标可以是目录或者是文件 但是如果源是目录 目标必须是目录
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
★rm -rf .aaa 删除隐藏文件夹 .aaa
★rmdir 只删除空目录
文本操作指令
使用格式:operator + 文件名
★cut 选取指定文本
-d 指定分隔符 eg: -d:以冒号为分类符,如果分隔符是空白符,就不需要写,直接写-d
-f 指定显示文本分隔符划分后的哪块区域 eg: -f1-3,-f7
eg:文本txt的内容为"abc:123:xyz"
cut -d: -f3 打印xyz
cut -d: -f1 打印abc
cut -d: -f2-3 打印123:xyz
★sort 排序
-r 逆序排序
-t 指定分列符
-k 指定排序的列
-n 按整数排序
★uniq 去除文本中相邻的重复行
★wc 统计文本中行数、字数、字符数
-l 行数
-c 字节数
-m 字符数
★du 统计目录下的文件大小,递归目录
查找命令
★which 查找命令的位置
★find 在文件系统中搜索某文件
find 目录 -name "文件名" 目录要从home开始, eg:find /home/wy/linux -name "calss1.txt"
find 目录 -name "文件名" -exec 命令 {} \; 找到后执行命令 eg:find /home/wy/linux -name "calss1.txt" -exec ls -l {} \;
find 目录 -name "文件名" -ok 命令 {} \; 找到后执行命令前询问是否执行命令 eg:find /home/wy/linux -name "calss1.txt" -ok ls -l {} \;
find 目录 -mtime +n 按文件n天以前最后一次被修改的时间查找
find 目录 -mtime -n 按文件n天以内最后一次被修改的时间查找
find 目录 -size +nM 按文件大小大于nM的条件查找
find 目录 -size -nM 按文件大小小于nM的条件查找
★grep 在文本文件中查找某个字符串
grep "字符串" 文件 在目录中的某个文件中找字符串 eg:grep "1" /home/wy/linux/calss1.txt
grep -n "字符串" 文件 在目录中的某个文件中找字符串以及所在行 eg:grep "1" /home/wy/linux/calss1.txt
★★find . -name "*.c" | xargs grep -n "swap" 在当前文件夹内找到名称包含“*.c”的文件,并传参给grep查找每个“*.c”文件中字符串“swap”以及所在行
xargs 将管道前的内容当作管道后的参数传过去
时间命令
★date +"%y-%m-%d %H:%M:%S" 打印年月日时分秒
date +%s 当前时间转换成时间戳
date -d @时间戳 打印年月日时分秒
打包、压缩、解压命令
★tar: 打包压缩
-c 压缩文件
-x 解压文件
-z gzip压缩文件
-j bzip2压缩文件
-v 显示压缩或解压缩过程 v(view)
-f 使用档名
eg:
tar -cvf /home/abc.tar /home/abc 只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
tar -xvf /home/abc.tar /home/abc 解包
tar -xzvf /home/abc.tar /home/abc 解gzip压缩包
tar -xjcvf /home/abc.tar.bz2 /home/abc 解bzip2压缩
文件类型操作命令
Linux上的七种文件类型:
//应该存储在磁盘上
- 普通文件
d 目录文件(文件夹)
l 软链接文件(快捷方式)
//不应该存储在磁盘上,只在内存上
b 块存储设备文件
c 字符设备文件
p 管道文件
s socket文件
★ln 创建链接文件
★readlink 读取软链接文件的内容
权限命令
★chmod u/g/o/a +/-/= r/w/x 文件名 将文件的“读/写/执行”权限“添加/删除/替换”到“自己/组内成员/别人/所有人”上
eg: chmod a+r ./calss1.txt 将当前文件夹内的calss1.txt文件给所有人增加读取的权限
关机重启命令
关机/重启机器
shutdown
-r 关机重启
-h 关机不重启
now 立刻关机
halt 关机
reboot 重启
★shutdown 广播给所有登录系统的用户,即将关机,并不是真的要立刻关机
shutdown执行之后调用 Init 0
Init 0之后调用halt,才是真正的关机