1.查看文件内容
查看文件内容:cat 文件名
文件内容一次性显示出来。
cat t4.txt
cat -n t4.txt 显示行号
分页查看文件文件内容:more 文件名 一次性加载文件所有内容到内存,分页显示
按回车翻一行、按空格翻一页
more t4.txt
分页查看文件文件内容:less 文件名 分页加载文件所有内容到内存,分页显示
less t4.txt
按回车翻一行、按空格翻一页,按q退出查看
功能说明:less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文 件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率
查看文件的头10行:head [选项] 文件名
head t4.txt
head -n 5 t4.txt
查看文件的后10行:tail [选项] 文件名
tail t4.txt
tail -n 5 t4.txt
2.Linux其余命令
echo:输出系统变量或者常量的值到命令行终端。(常常在脚本文件中出现 .sh 文件)
echo $JAVA_HOME
echo $PATH
例如:看PATH变量
[root@localhost /]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
window中的配置类似
JAVA_HOME=D:\DPFS\Java\jdk1.8.0_101
PATH=%JAVA_HOME%\bin;.......
CLASSPATH=%JAVA_HOME%\lib;.
把前一个查看命令的结果输出到指定的文件中: 查看命令 > 文件名
*如果目标文件不存在,则新建一个文件
*如果目标文件已存在,则把文件以前的内容覆盖
ls > ret.txt
ls -al > ret.txt
cat ret.txt > t3_new.txt 文件内容的复制
cat t4.txt > t3_new.txt
把前一个查看命令的结果追加输出到指定的文件中:查看命令 >> 文件名
*如果目标文件不存在,则新建一个文件
*如果目标文件已存在,则在文件原来内容的基础上进行追加
Linux中关于日期和时间的操作命令:
1)、查看或者设置系统的日期或者时间:date
date 查看系统当前的完整的日期和时间
date +%Y 系统当前的年份
date +%m 系统当前的月份
date +%d 系统当前的日期
例如:
[root@localhost testDir]# date
2022年 04月 26日 星期二 16:16:17 CST
[root@localhost testDir]# date +%Y
2022
[root@localhost testDir]# date +%m
04
[root@localhost testDir]# date +%d
26
date '+%Y-%m-%d %H:%M:%S' 按yyyy-MM-dd HH:mm:ss格式显示
date -S '2020-10-20 10:20:30' 设置当前的系统时间
查看时区的两种方式:timedatectl 或者 date +"%Z %z"
例如:[root@VM-0-8-centos rh]# timedatectl
Local time: Mon 2022-12-05 16:14:54 CST
Universal time: Mon 2022-12-05 08:14:54 UTC
RTC time: Mon 2022-12-05 08:14:54
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
例如:
[root@VM-0-8-centos rh]# date +"%Z %z"
CST +0800
2)、查看系统日历:cal
cal:查看当前月份的日历
cal 2020:查看指定年份的日历
[root@localhost testDir]# cal
四月 2022
日 一 二 三 四 五 六
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Linux中关于搜索文件或者目录的命令:
1)find [搜索范围][搜索标准] 关键字
|->-name:默认按名称搜索(文件或者目录所在的路径也在搜索范围之内)
|->-size:按文件大小搜索
|->-user:按文件的所有者搜索
find *.txt 搜索当前目录下,所有的.txt文件
find *e* 搜索当前目录下,所有名称中包含e的那些文件或者目录
find /etc *.txt 搜索/etc目录下所有.txt文件
find /etc -size -5k 搜索/etc目录下所有小于5k的文件
find /etc -user zhangsan 搜索/etc目录下所有的所有者是zhangsan的文件和目录
2)locate:在整棵目录树中搜索文件或者目录,都是根据名称搜索,效率高,但可能不及时。
说明:locate指令可以快速在整个系统中定位文件路径。
locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定文件。
locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻
建议使用前先听不数据库updatedb命令
updatedb
locate 关键字
例如:
3)搜索过滤命令,在前一个搜索命令的结果中进行按名称进一步过滤:搜索命令 |grep [选项] 过滤条件
查看命令 |grep [选项] 过滤条件
解释:【grep】global regular expression print”全局正则表达式输出的缩写,用于查找文件里符合条件的字符串
find *.txt|grep new 搜索当前目录下,所有名称包含new的.txt文件
find /etc -size -5k|grep firefox
cat t1.txt|grep beijing 搜索t1.txt文件中包含 beijing 的内容
cat t1.txt|grep -ni beijing i表示忽略大小写 n表示序号
ls -al|grep new
例如:
Linux中有关压缩和解压的命令:
1)、压缩或者解压单个文件(目录不行):
gzip 文件名:压缩单个文件,生成一个.gz的压缩包,并且会把原来的文件删除。
gunzip .gz压缩包名:解压.gz压缩包,并且会把原来的.gz压缩包删除。
gzip ret.txt 压缩ret.txt
gunzip ret.txt.gz 解压缩ret.txt.gz
扩展:gzip * 把当前目录下的每个文件压缩成 .gz 文件
gunzip * 把当前目录下的每个.gz压缩文件全部解压
gzip -l * 详细显示当前目录下每个压缩的文件的信息,并不解压
2)、压缩(打包)或者解压多个文件和目录:
zip 目标压缩包名称(通常使用.zip压缩包) 文件或者目录列表,不删除原有文件:
unzip 压缩包名(.zip) -d 解压目录名:将指定的.zip压缩包解压到当前目录(或者指定目录),不删除原有文件。
zip test.zip ret.txt t1.txt test2 将ret.txt和t1.txt文件和test2目录压缩到test.zip,且不会删除原文件
unzip test.zip -d test3
zip mytest.zip test.zip t3_new.txt t4.txt test2
3)、压缩(打包)或者解压多个文件和目录:
tar [选项] 目标压缩包名称(xxx.tar.gz) 文件或者目录列表,不删除原有文件
|->c:打包或者压缩
tar [选项] 压缩包名(xxx.tar.gz) -C 解压目录名:将指定的.tar.gz压缩包解压到当前目录(或者指定目录),不删除原有文件
|->x: 解压
tar -zcvf xxx.tar.gz 文件或者目录列表
tar -zxvf xxx.tar.gz -C 解压目录名
tar -zcvf mytar.tar.gz mytest.zip ret.txt t1.txt test2
tar -zxvf mytar.tar.gz -C /opt/testDir/test5
tar.xz文件解压命令如下:
tar xvJf xxxxxxx.tar.xz -C 解压路径
Linux中文件或者目录与组:
1)文件或者目录与组基本介绍:
在linux中,每一个用户都至少属于一个组,用户不能独立于组存在,一个用户可以属于多个组。
在linux中,每一个文件或者目录也必须属于一个组,而且只能属于一个组,默认情况下,文件所有者所属的主组就是文件所属的组;
文件或者目录通过组来控制哪些用户可以对它进行哪些操作,即文件或者目录的访问权限;
在文件或者目录看来,linux系统中所有的用户分为三类:
所有者:默认情况下,文件或者目录的所有者都是创建者,可以修改
同组用户:跟文件或者目录属于同一个组的用户
其它组用户:既不是文件或者目录的所有者,也不是同组用户
2)查看文件的所有者和所在的组:
ls -l
3)、修改文件或者目录的所有者:chown 新的所有者 文件名或者目录名
chown 新的所有者:新的组 文件名或者目录名
注意:-R 如果是目录则使其下所有子文件或目录递归生效
chown zhangsan t1.txt 将文件t1.txt的所有者改为zhangsan(原来所有者为root)
chown -R zhangsan test3
chown zhangsan:dev t4.txt 将文件t4.txt的所有者改为zhangsan,组改为dev(原来所有者为root,所在组为root)
chown zhangsan:dev test2
chown -R zhangsan:dev test2 递归修改目录的所有者和所在的组
4)、修改文件或者目录的所在组:chgrp 新的组 文件名或者目录名
chgrp dev t2.txt 修改t2.txt文件所在组
chgrp -R dev test3 修改test3目录所在组,递归修改
例如:修改wqtmp文件夹的所有者和所在组,且使用-R递归,那么wqtmp目录下的文件也会被修改,若不递归,则只修改目录
Linux中文件或者目录的权限管理:
1)准备工作:
一个用户至少属于一个组,也可以属于多个组;
一个文件或者目录也必须属于一个,并且只能属于一个组;
在一个文件或者目录看来,linux系统中所有的用户可以分为三类:
所有者:
同组用户:
其它组用户:
2)、文件或者目录的三种权限:
在linux中,任何文件或者目录都有三种权限:读(Read)、写(Write)、执行(Execute)
对于文件而言:
读:可以读取、查看文件的内容, 比如:cat、more、less、head、tail等。
写:可以修改文件的内容,比如:vi或者vim等
执行:如果该文件是可执行文件(.sh),可以直接运行,比如:./xxx.sh。
对于目录而言:
读:可以读取、查看目录下边的内容,比如:ls等
写:可以修改目录中的内容,创建子目录、删除子目录、创建文件、删除文件、重名文件或者目录
执行:可以进入该目录, 比如:cd等。
3)、文件或者目录的权限控制:
在linux中,任何一个文件或者目录都有三部分权限:所有者权限、同组用户权限、其它组用户权限。
第一部分权限:所有者权限,文件或者目录的所有者对该文件所拥有的权限,使用r、w、x分表表示读、写、执行的权限。
比如:rwx:拥有读写执行的权限,r-x:拥有读和执行的权限,r--:只拥有读的权限,---:没有任何权限。
第二部分权限:同组用户权限,文件或者目录的同组用户对该文件所拥有的权限,使用r、w、x分表表示读、写、执行的权限。
第三部分权限:其它组用户权限,文件或者目录的其它组用户对该文件所拥有的权限,使用r、w、x分表表示读、写、执行的权限。
4)、查看文件或者目录的权限:
ls -aul
5)、修改文件或者目录的权限:chmod
用r、w、x分辨表示读、写、执行的权限,
用u、g、o、a分别表示给所有者、同组用户、其它组用户、所有用户修改权限
用+、-、=分别表示给指定的用户增加、减少、设置对应的权限
chmod g-w,o+w t5.txt
chmod g=rwx t5.txt
chmod a-r t5.txt
6)、使用数字的方式修改文件或者目录的权限:
每一个权限可以用一个数字来表示:
r、 w、 x
4、 2、 1
2^2 2^1 2^0
每一个文件或者目录都有三部分权限,每一部分权限都可以用一组数据之和来表示,三部分权限就是一组三个数据序列:
rw- r-x r-x
6 5 5
rwx r-x -wx 对应的数字为 753
rwxrwxrwx 777 全权限
chmod 777 t5.txt
chmod 753 t5.txt