Linux命令基础(一)
Ls
(List) 可以显示指定目录(文件夹)下文件的详细信息。默认的为当前目录的信息。
用法:ls [选项]... [文件或目录]...
选项:
- -l (long)以长格式显示列表(详细信息)ls -l =ll
- -a (all)显示所有子目录和文件的信息(包含隐藏文件)
- -A 和-a功能一样,区别在于-a有两个点,-A没有
- -d(Directory)显示目录本身的属性,而不是显示目录中的内容。
- -h (human)以人性化的方式显示目录及其子目录的所有内容(带单位显示)
- -R(Recursive)递归:所有的目录全部彻底的打开(刨根问底)
- --color=auto 使用色彩区分文件类型的功能(了解)
- 红色:压缩文件
- 白色:普通文件
- 蓝色:目录文件
- 绿色:可执行文件
- 淡蓝色:链接文件
- 黄色:设备文件
- 紫色:套接字文件
- -t (time)列表以时间顺序排序;-r 逆序排序
du
Disk usage 用于统计指定目录或文件所占用磁盘空间的大小。
du [选项]... [文件]...
选项:常用du -ah和du -sh
- -a 查看所有文件大小
- -h 显示结果时带单位
- -s (summary)只统计此目录所占用空间总的大小,不会统计每个子目录、文件的大小。
Touch
创建文件:如果文件存在,会更新时间信息;若文件不存在,会创建出新的文件
Touch [选项]... [文件]...
Touch test{1..10}.txt 可以创建10个test.txt文件
选项:(了解)
- -a 只更改访问时间
- -c,--no-create 不创建任何文件
- -d,--date 使用指定的字符串表示时间而非当前时间
- -m 只更改修改时间
mkdir
Make directory 创建新的目录
Mkdir [选项]... 目录...
选项:常用 mkdir -pv 例如:mkdir -pv 11/22/33/44
- -p 嵌套:创建多层目录
- -v 显示详细信息
- -m 跳出当前的umask信息(暂时了解)
cp
Copy 将需要复制的文件或目录重建一份,并保存为新的文件或目录
用法:cp[选项]... 源文件... 目录(还可以在目录下写上要更改的名字)
选项:
- -f 覆盖目标同名文件或目录时不进行提醒,直接强制复制
- -i 覆盖目标同名文件或目录时提醒用户确认
- -r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
- -p 复制时保持源文件的属性不变
敲cp -f 不再询问的三种方式:
rm
Remove 删除指定的文件和目录
用法:rm[选项]... 文件...
选项:常用 rm -rf
mv
Move 将指定的文件或目录转移位置,如果目标位置和原位置相同,则相当于重命名
用法: mv [选项]... 源文件... 目录
选项:
Which
查看命令程序文件路径
例:查找一个命令所在路径
搜索范围由环境变量PATH决定
选项:
find
查找文件夹或文件
用法:find [查找范围(某个目录)]... [查找条件表达式]
查找条件:
- -name 根据文件名查找 例:-name “a.cfg”;-name “?.cfg”
- -size 根据文件的大小,后面写上大小、单位及范围,+代表大于,-代表小于 例:find /boot -size +1M (表示查找/boot下大于1m的文件)
- -type 根据文件类型查找
- 文件类型包括:普通文件f、目录d、块设备文件b、字符设备文件c、链接文件l、管道文件p、套接字文件s等
- 例:find /tmp/ -type d (查找/tmp下的文件夹)
- -user 按照文件的用户查找(暂时了解)
*代表任意长度任意字符
?代表一个任意字符(??代表两个;???代表三个)
两个条件同时查找:在两个条件中间加上 -a 或 -o
(-a 表示和;-o 表示或)
例:和:find /boot/ -name “vmlinuz” -a -size +1M
或:find /boot/ -name “vmlinuz” -o -size +1M
alias:查看命令的别名
定义命令的别名(起外号):alias 别名=’命令’ (单引号)
取消别名:unalias 别名
例:alias myip=’ifconfig ens32’(将ifconfig ens32名字改成myip)
date:查看系统时间
- 修改时间:date -s “你想设置的时间”
- cal : 查看日历
例:cal 3 2020 (查看2020年3月份日历)
hostname:查看当前主机名
hostname xxx:修改主机名为xxx
pwd:查看当前工作目录
cd:
(change directory)切换工作目录
- 绝对路径:以根目录 / 作为起点
- 相对路径:一般以当前工作目录作为起点,开头不使用 /
Linux的目录结构
- 根目录
- 所有分区、目录、文件等位置的起点
- 用独立的“/”表示
- 不管计算机由多少个分区、多少个硬盘,只能有一个根
常用的各类文件
cat
用法:cat [选项]... [文件]... (查看文件内容)
选项:
- -n 显示内容的同时显示行号
- -A 显示所有的字符
cat -n = nl
tac :显示的顺序和cat 的相反(上下颠倒)
rev:(左右颠倒)
more :
以全屏方式分页显示文件内容
用法:more [选项]... 文件...
快捷键:
回车:向下滚动一行;空格:向下滚动一页;按q退出
less :
和more 基本相同,但拓展功能更多
用法:less [选项] 文件名
快捷键:
pgup,pgdn:上下翻页
/:查找内容(n下一个,N上一个)
其他功能和more一样
管道 (|)
作用:可以将前面命令的执行结果,交管道后的命令作为参数。
head:
查看文件开头的一部分内容,默认显示前10行
用法:head [选项]... [文件]...
head -x :显示x行
tail:
查看文件尾部有几行,默认显示后10行。
用法:tail [选项]... [文件]...
wc:
word count 统计文件中的单词数量
用法:wc [选项]... [文件]...
选项:
-l :统计行数
-w :统计单词个数
-c:统计字节数
默认wc 都会统计
grep:
在文件中查找并显示包含指定字符串的行(查找关键字)
例:grep “ftp” /etc/passwd (显示该目录含ftp关键字的数据)
用法:grep [选项]... “关键字” [文件]...
选项:
- -i :查找时忽略大小写
- -v:翻转查找,输出与条件不相符的行
- -E:查找支持正则表达式
例:即想看到ftp又想看到root,可以用-E
grep -E “root|ftp” /etc/passwd |代表或
- -w:查找时将条件视为完整单词
- “^...”表示以...为开头
- “...$”表示以...为结尾
- “^$”表示空行
- egrep=grep -E:增强型过滤
格式:egrep [选项] “条件1|条件2|条件3...” 目标文件
gzip:压缩
用法:gzip [选项] 文件名
选项:1-9的数字,数字越大,压缩级别越大
压缩后文件格式为“.gz”
gzip -d:解压(也可用gunzip)
bzip2:压缩
和gzip 用法一样,只是压缩后的文件格式为“.brz2”
bzip2 -d、bunzip:解压
tar:制作归档文件、释放归档文件(将文件打包、解包)
格式:
- 归档:tar [选项c] 归档文件名 源文件或目录
- 释放:tar [选项x] 归档文件名 [-C 目标目录]
常用选项:
例:将123.txt、abc.txt、text.txt归档到xxx.tar下
tar -cf xx.tar 123.txt abc.txt test.txt
将xxx.txt释放到/tmp文件下:
tar -xf xxx.txt -C /tmp
不但将三个打包,而且还压缩:
tar -zcf xx.tar.gz 123.txt abc.txt test.txt(.gz格式)
tar -jcf xx.tar.bz2 123.txt abc.txt test.txt(.bz2格式)
同理:tar -zxf和tar -jxf为解压,tar -ztf和tar -jtf为查看压缩包。
打包压缩时可删除源文件
tar zcf file.tar.gz --remove 1.txt 2.txt 3.txt
注:
- tar命令的选项前可以省略“-”,在解压时无需选择“-z”或“-j”,命令可以自行识别。
- tar命令通过-zcf选项创建打包压缩文件时,.tar.gz = .tgz
重定向
用ls -l > aa.txt可以将显示的内容放进aa.txt中查看
> 代表重定向的覆盖
>> 代表重定向的追加