目录
1、基本命令
2、文件相关知识
3、文本相关操作
1、基本命令
Ctrl+A/t+Fn+F6:管理Linux(Fn+数字)
Linux:输入密码是不显示
Alt+F1 返回图形化界面
Ctril+Alt 移动鼠标
笔记:
在家目录:cd Desktop 进入桌面
在根目录:cd ~/Desktop【相对路径】 == cd /home/linux/Desktop【绝对路径】
linux@ubuntu:~/Desktop$ cp A/B . -r
linux@ubuntu:~/Desktop$ cp A ../Music/ -r
linux@ubuntu:~/Desktop$ cd ~/Music
linux@ubuntu:~/Music$ ls
A
linux@ubuntu:~/Desktop$ mv B ./A
linux@ubuntu:~/Desktop$ mv test1 ./test2
打开终端: Ctril+A/t+T
Ctril+Shift+T
A/t+Tab
linux@ubuntu:~/Desktop$ mkdir -p A/B/C【在A/B/中创建C】
linux@ubuntu:~/Desktop$ mkdir -p A A/B A/B/C
加减窗口: Ctril+Shift+"+"
Ctril+"-"
Linux字符界面:
进入方法:1.开机默认进入字符界面,在文本模式进入字符界面
2.图形界面进入:右击界面+在终端中打开
3.虚拟控制台进入:Ctrl+Alt+F2/F3/F4/F5/F6
Shell:用户与计算机相互交互操作的接口。默认是bash
bash:输入命令的
# :root的提示符
$ :普通用户提示符
格式:【用户名@主机名~当前工作目录】字符
【root@rhel~】#ls(命令) -1(选项) /root(参数)
选项:短命令(数字) 长命令(单词)
touch:新建普通文件
cd:切换目录
ls:浏览目录
mkdir:新建目录
grep:查找文件中符合条件的字符串
more:分页显示文本为文件
Ctrl+C:中断命令运行
cat:查看普通文件内容
查找文件字符串:通配符* ? ls t* --浏览t开头的目录,及该目录的子文件
*可匹配一个或多个字符
?可匹配多个字符
命令行自动补全:
Tab:无歧义、有歧义
命令历史记录:
history:查看历史记录
history n:清空历史记录 n是数字
history -c:清空历史记录
命令排列:
Linux允许在不同命令间放上特殊符号
命令1;命令2 命令1&&命令2
;与&&区别
;先执行命令1,不管命令是否出错,都会执行命令2
&&先执行命令1,正确运行完毕后,再去运行命令2
文件名匹配:
管道:
【命令1】|【命令2】|【命令3】 ls /etc|grep a|more --在根目录查找带有a的文件,分页输出
命令1执行的结果进入命令2,命令2的结果进入命令3
例题:1、在根目录下创建目录aaa
# cd/ && mkdir aaa
或者# mkdir /aaa
2、查看etc/passwd文件中带有root的行,统计行数
# cat /etc/passwd | grep root | wc -l
…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
echo:显示内容到终端【屏幕】
wc:统计指定文件的字节数、字数、行数、并将结果显示出来。【统计文本文件的,无法统计目录】
重定向:将命令的输出结果保存到文件中,或以文件命令内容作为命令的参数,就要用到重定向。
输出重定向: 【命令】 > 【文件】 将一命令输出保存文件,容易存在相同文件则覆盖内容
输入重定向: 【命令】 < 【文件】 某一文件内容作为命令的输入
输入追加重定向: 【命令】 << 【分隔符】
>【文本内容】
>【分隔符】
EOF [end of file]:终止符 Ctrl+C:强制退出
……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
VI编辑器:vi+ +文件名 命令模式、插入模式、末行模式
命令模式 【:】进入末行模式 【i】光标之前开始插入或【a】光标之后开始插入 进入插入模式
插入模式 【Esc】回到命令模式
末行模式 【Esc】回到命令模式
命令模式 yy 复制光标所在行
dd 删除光标所在行
p 将缓冲区的内容写到光标所在行
u 撤销操作,可执行多次
ZZ 保存退出
ZQ 不保存退出
插入模式 i 从光标当前所在位置之前开始插入
a 从光标当前所在位置之后开始插入
末行模式 :w 保存文件
:wq 保存文件并退出vi编译器
:wq! 保存文件并强制退出vi编译器
:q 退出vi编译器
:q! 强制退出vi编译器
2、文件相关知识
一、Linux文件类型:
Linux是以目录文件挂在文件系统的【存在根目录的】,其目录结构是一个分层的树形结构。
除了Linux系统中一般文件外,所有的目录和设备(如光驱,硬盘等)都是以文件的形式存在的。
Linux不能以文件名区分文件类型
1 普通文件【黑色或白色】
第一个符号 -
touch 创建
2 目录文件【蓝色】
第一个符号 d
cd 能进入
mkdir 创建
3 设备文件【黄色】
第一个符号 b或 c
分为字符设备:串行端口的接口设备 如键盘、鼠标 【用c表示】
块设备:存储数据以供系统存取得接口设备 即硬盘 【用d表示】
4 链接文件【浅蓝色】
第一个符号 l【软链接符号链接文件】
类似Windows的快捷方式
5 补充 压缩文件【红色】、可执行文件【绿色】、链接文件有问题【红色闪烁】、其他文件【灰色】
二、查看文件类型:
使用 ll或者 ls -l,看第一个字符
使用 file命令用法:#file 文件名 看执行结果
观察文件名颜色
三、Linux目录结构
根目录下目录:
root 存放root用户相关文件
home 存方法普通用户的相关文件
bin 存放常用命令的目录
sbin 具有一定权限才可以使用的目录
mnt 默认挂载光盘和U盘的目录
etc 存放配置相关的文件
var 存放经常变化的文件
boot 存放引导文件,如果被破坏,则Linux不能启动
user 软件默认安装目录
[root@192 桌面]# cd / 切换到根目录
[root@192 /]# ls 浏览目录有什么子目录
[root@192 /]# ls -l 根目录下所有文件的详细属性
………………………………………………………………………………………………………………………………………………………………………………………………
文件和目录操作:
pwd 当前目录的详细路径【怎么到的当前目录】
cd 切换目录路径,工作目录路径可以使用绝对路径【从/(根)开始,一步一步切换到所需目录下】或
相对路径【从当前目录开始】
cd .. 回到当前目录的上一级目录
cd ../../.. 回到当前目录的上三级目录
ls【选项】【目录|文件】 选项:-a【显示目录下所有子目录与文件包括隐藏文件】
-i【在输出的第一列显示文件的inode号】
-l【以长格式来显示文件的详细信息】单位字节
-h【显示单位大小】
-r【逆序排序】
-t【根据修改时间排序】
[root@192 home]# ls -li
[root@192 home]# ls -lih 【详细属性一般是这个】
[root@192 aaa]# touch .a3 创建隐藏文件a3
[root@192 aaa]# ls -a
[root@192 /]# ls -lt【降序】
[root@192 /]# ls -ltr
[root@192 aaa]# touch file1 file2 file3
[root@192 aaa]# touch -t 02201230 file1 【修改文件创建日期:月日时分 文件名】
[root@192 aaa]# touch -t 201810011536 file2【修改文件创建日期:年月日时分 文件名】
============================================================================
============================================================================
链接文件:
1、硬链接:就像备份,是将两个或多个文件通过i节点物理的链接在一起
2、软链接:像wnidows里的快捷方式,内容是到一个实际存在的文件的路径描述
1 特点:硬链接的文件具有不同的文件名和同一个i节点,通过其中任何一个文件名访问得到的都是同一内容,
这如同一个文件具有多个别名,所以当其中一个文件内容发生改变时,另外一个文件同样也变
删除其中一个其他不受影响
只能在同样的文件系统、分区和挂载的设备,而且只能针对文件,不能用于目录。
语法:ln [源文件名][链接文件名]
[root@192 aaa]# echo Hello>a1
[root@192 aaa]# cat a1
Hello
[root@192 aaa]# ln a1 file1 --建立硬链接文件
[root@192 aaa]# ls
777 a1 a2 d1 d2 d4 file1 m
[root@192 aaa]# cat file1
Hello
[root@192 aaa]# rm -f file1 --删除文件
2 特点:软链接文件与目标文件是两个独立的文件,有着各自的i节点和数据块。
删除源文件,软链接文件不能独立存在,只保留文件名,但没有内容。【就像删除windows的源文件,快捷方式就没用了】
可以跨越各种文件系统和挂载设备,文件、目录均适用。
[root@192 aaa]# echo aaa>file3
[root@192 aaa]# cat file3
aaa
[root@192 aaa]# ln -s file3 file4 --创建软链接
[root@192 aaa]# cat file4
aaa
[root@192 aaa]# echo bbb>>file3
[root@192 aaa]# cat file4
aaa
bbb
===============================================================
vi编译后文本内容查看显示
1 cat、2 more、3 less、4 head、5 tail
1:cat [选项][文件]
选项:-n 对输出的所有行编号
-b 对非空输出行编号
-s 当遇到连续两个以上空行,就将连续空行合并为一行的空行
2:more [选项][文件名]
分页显示文本文件内容,空格键显示下一页,B键查看上一页内容,Q键退出
选项:+n 从第n行开始显示文件内容,n代表数字
-n 一次分页显示的行数,n代表数字
3:less [选项][文件名]
是more的改进版,允许使用者上下滚动,Q键退出,上下键滚动
4:head [选项][文件名]
显示指定文件的头几行,默认10行
-n 5 指定行数,如 5行
-c 100 指定字节,如 100字节
5:tail [选项][文件名]
显示指定文件的末尾几行,默认10行
-n 5 指定行数,如 5行
-c 100 指定字节,如 100字节
====================================================================
mkdir权限
每个文件可以设置三类用户的访问权限:文件的用户所有者(属主)、文件的组群所有者(属组)、系统中的其他用户(其他用户)。
每一位用户都有对文件或目录的读取、写入和执行权限
权限表示法:1 字符表示法
读取:r 写入:w 执行:x 不具有权限:-
9个权限位,每3位一组,分别是属主、属组、其他用户的权限
2 数字表示法(八进制)
读取:4 写入:2 执行:1 无权限:0
例如:-rw-rw-r-x 665 【第一位是类型】
drwx------ 700
mkdir [选项][目录]
常用选项:-m 对新建的目录进行权限设置,在没有-m时默认权限755
例题:创建权限为777的空目录newdir1
#mkdir -m 777 newdir1
3、文本相关操作
文件和目录操作(2)
1、cp 2、mv 3、rmdir 4、rm 5、wc
1、cp:复制文件或目录到其他目录中
cp [选项][源文件|目录][目标文件|目录]
-r 此时目标必须为一个目录
例题:将/newdir1/file1文件复制到/home目录下
#cp /newdir1/file1 /home
将/newdir1目录以及子文件和子目录都复制到/root目录中【复制整个目录,包括目录里的文件等】
#cp -r/newdir1 /root
将文本文件/dir1复制到/home中,并重命名为dir2
#cp -r/dir1 /home/dir2
2、mv:对文件或目录更改名称以及移动文件和目录路径
mv [选项][源文件|目录][目标文件|目录]
例题:将/newdir1目录下所有已file开头的文件剪切到/newdir1/newdir2目录下
#mv /newdir1/file* /newdir1/newdir2
将/newdir1目录改名为/dir1
#mv /newdir1 /dir1
3、rmdir:删除空目录【用的很少】
rmdir[选项][目录]
4、rm:删除文件或目录
rm [选项][文件|目录]
-f: 强制删除 [一般与r连用]
-r: 删除目录及其内容
例题:删除当前目录下的file1文件
#rm file1
删除目录/dir及该目录下的所有文件一同删除
#rm -rf /dir1
5、wc:统计指定文件行数、单词数、字节数和字符数
wc [选项][文件]
例题:统计text.txt文件的行数、单词数、字节数
#wc text.txt
统计/etc/passwd文件的行数
#wc -l /etc/passwd
或#cat /etc/passwd | wc -l
============================================================
文本内容处理:
1、sort,2、uniq,3、cut,4、comm,5、diff
1、对文件中的数据【字符】进行排序,并将结果显示在标准输出上。默认升序,并没有修改,只是单纯输出。
sort [选项][文件名]
选项:-r 逆序输出结果
-u 输出中去除重复行
-n 按数字排序
-o 将排序结果输出修改保存到原文件中【不可用输出重定向】
--将text1中内容顺序修改为升序
#sort text1 -o text1
2、比较一个文件,将文件内的重复数据从输出文件中删除,只留下每条记录的唯一样本,只是单纯输出。
注意:使用之前必须内容要进行排序
uniq [选项][文件名]
选项:-d 只输出重复的行
-u 只输出不重复的行
-c 显示输出中的每行行首加上本行中出现次数
3、从每一行剪切字节,字符和字段并将这些字节、字符和字段写至标准输出。只是单纯输出。
cut [选项][文件]
-d 指定剪切完的分隔符作为分界
-f 指定剪切字段 可用,【 字段1,字段2,字段3】或-【 字段1-字段3】
-b 指定剪切字节
--显示/etc/passwd的第一个和第五个字段,用冒号隔开
#cut -f 1,5 -d:/etc/passwd
--显示当前登陆用户的第三个字节
#who|cut -b 3
who是一个命令:显示当前登陆的用户资料
4、比较两个文本文件,并将其结果显示出来,最后输出三列,第一列显示第一个文件独有的行;只是单纯输出。
第二列显示第二个文件仅有的行;第三列显示两个文件都存在的行。
注意:使用之前必须内容要进行排序
comm [选项][文件1][文件2]
-1 不显示文件1独有的行
-2 不显示文件2独有的行
-3 不显示两个文件共有的行
--显示两个文件共有的行
#comm -12 file1 file2
5、比较两个文本文件,输出不同
注意:不要求事先排序。
diff [选项][文件1][文件2]
输出内容:与ed编译器内容相关
a -- add
c -- change
d -- delete
| 表示前后两个文件有不同
< 后面文件比前面文件少1行内容
> 后面文件比前面文件多1行内容
==================================================
查找:
1、grep 2、find 3、cal 4、date 5、hwclock
1、在文件内查找符合条件的字符串
grep [选项][查找模式][文件名]
--在文件text中搜索“banana“
[root@192 aaa]# grep 'banana' text1
--在一text开头的文件中搜索字符“banana”
[root@192 aaa]# grep 'banana' text*
--在文件text2中找出以p开头的行内容 【^ 指定字符开头】
[root@192 aaa]# grep ^p text2
--在text2中,找到不是以p开头的行内容【-v 显示不包含指定内容的行】
[root@192 aaa]# grep -v ^p text2
--在文件text2中,找出以le结尾的行内容【$ 指定字符结尾】
[root@192 aaa]# grep le$ text2
--查找目录/etc下带有al文件名 //grep 只能查找文件,所以需要管道符号
[root@192 aaa]# ls /etc|grep 'al' 【管道符号将前面的运行结果作为内容作为输入传递给后面的命令】
2、在目录中查找文件,并执行制定操作
find [路径][选项]
-name 按照文件名查找
-type 按照文件类型查找文件
-size +nk 查找大小超过n的文件n为数字,c代表字节;k代表KB;m代表MB;g代表GB
-empty 查找空文件,可以使普通的文件或目录
--将当前目【.】及其子目录【/】中,以‘text’打头的文件列出【./ 代表当前目录及子目录】
#find ./ -name 'text*'【通配符要跟''】
--将/sbin目录及其子目录【/】所有链接文件列出
#find /sbin/ -type l
--将/sbin所有大于1024KB的文件列出
#find /sbin -size +1024k
--查找/root目录中为空的文件或子目录
#find /root -empty
3、显示计算机系统的日历
cal [选项][[[日]月]年]
-m 以星期一为每周第一天的方式显示
-j 显示出给定月中的哪一天,是一年中的第几天【从1月1日开始】
-y 显示出整年的日历【-y=cal 2020】
--显示本月的日历
#cal
--显示2017年1月的日历
#cal 1 2017
--以星期一为每周第一天的方式显示
#cal -m
--以1月1日起的天数显示今年的日历
#cal -jy
--显示2018年8月到现在的天数
#cal -jy 8 2018
4、显示和设置计算机系统的日期和时间【root才可以设置】
date [选项][显示时间格式]
--显示当前日期时间
#date
--设置日期时间为2028年 2月2日19点14分
#date 020219142028 【月日时分年】
--设置时间为9时16分
#date -s 09:16:00
--设置计算机日期为2024年4月14日
#date -s 20240414 【年月日】
5、查看和设置硬件日期和时间(RTC)
-w 以系统时间更新硬件时间
-s 以硬件时间更新系统时间
--查看硬件时间
#hwclock
--以系统时间更新硬件时间
#date
#hwclock -w
--以硬件时间更新系统时间
#hwclock -s
=====================================================
一、Linux文件类型: Linux是以目录文件挂在文件系统的【存在根目录的】,其目录结构是一个分层的树形结构。 除了Linux系统中一般文件外,所有的目录和设备(如光驱,硬盘等)都是以文件的形式存在的。 Linux不能以文件名区分文件类型 1 普通文件【黑色或白色】 第一个符号 - touch 创建 2 目录文件【蓝色】 第一个符号 d cd 能进入 mkdir 创建 3 设备文件【黄色】 第一个符号 b或 c 分为字符设备:串行端口的接口设备 如键盘、鼠标 【用c表示】 块设备:存储数据以供系统存取得接口设备 即硬盘 【用d表示】 4 链接文件【浅蓝色】 第一个符号 l【软链接符号链接文件】 类似Windows的快捷方式 5 补充 压缩文件【红色】、可执行文件【绿色】、链接文件有问题【红色闪烁】、其他文件【灰色】 二、查看文件类型: 使用 ll或者 ls -l,看第一个字符 使用 file命令用法:#file 文件名 看执行结果 观察文件名颜色 三、Linux目录结构 根目录下目录: root 存放root用户相关文件 home 存方法普通用户的相关文件 bin 存放常用命令的目录 sbin 具有一定权限才可以使用的目录 mnt 默认挂载光盘和U盘的目录 etc 存放配置相关的文件 var 存放经常变化的文件 boot 存放引导文件,如果被破坏,则Linux不能启动 user 软件默认安装目录 [root@192 桌面]# cd / 切换到根目录 [root@192 /]# ls 浏览目录有什么子目录 [root@192 /]# ls -l 根目录下所有文件的详细属性 ……………………………………………………………………………………………………………………………………………………………………………………………… 文件和目录操作: pwd 当前目录的详细路径【怎么到的当前目录】 cd 切换目录路径,工作目录路径可以使用绝对路径【从/(根)开始,一步一步切换到所需目录下】或 相对路径【从当前目录开始】 cd .. 回到当前目录的上一级目录 cd ../../.. 回到当前目录的上三级目录 ls【选项】【目录|文件】 选项:-a【显示目录下所有子目录与文件包括隐藏文件】 -i【在输出的第一列显示文件的inode号】 -l【以长格式来显示文件的详细信息】单位字节 -h【显示单位大小】 -r【逆序排序】 -t【根据修改时间排序】 [root@192 home]# ls -li [root@192 home]# ls -lih 【详细属性一般是这个】 [root@192 aaa]# touch .a3 创建隐藏文件a3 [root@192 aaa]# ls -a [root@192 /]# ls -lt【降序】 [root@192 /]# ls -ltr [root@192 aaa]# touch file1 file2 file3 [root@192 aaa]# touch -t 02201230 file1 【修改文件创建日期:月日时分 文件名】 [root@192 aaa]# touch -t 201810011536 file2【修改文件创建日期:年月日时分 文件名】 ============================================================================ ============================================================================ 链接文件: 1、硬链接:就像备份,是将两个或多个文件通过i节点物理的链接在一起 2、软链接:像wnidows里的快捷方式,内容是到一个实际存在的文件的路径描述 1 特点:硬链接的文件具有不同的文件名和同一个i节点,通过其中任何一个文件名访问得到的都是同一内容, 这如同一个文件具有多个别名,所以当其中一个文件内容发生改变时,另外一个文件同样也变 删除其中一个其他不受影响 只能在同样的文件系统、分区和挂载的设备,而且只能针对文件,不能用于目录。 语法:ln [源文件名][链接文件名] [root@192 aaa]# echo Hello>a1 [root@192 aaa]# cat a1 Hello [root@192 aaa]# ln a1 file1 --建立硬链接文件 [root@192 aaa]# ls 777 a1 a2 d1 d2 d4 file1 m [root@192 aaa]# cat file1 Hello [root@192 aaa]# rm -f file1 --删除文件 2 特点:软链接文件与目标文件是两个独立的文件,有着各自的i节点和数据块。 删除源文件,软链接文件不能独立存在,只保留文件名,但没有内容。【就像删除windows的源文件,快捷方式就没用了】 可以跨越各种文件系统和挂载设备,文件、目录均适用。 [root@192 aaa]# echo aaa>file3 [root@192 aaa]# cat file3 aaa [root@192 aaa]# ln -s file3 file4 --创建软链接 [root@192 aaa]# cat file4 aaa [root@192 aaa]# echo bbb>>file3 [root@192 aaa]# cat file4 aaa bbb =============================================================== vi编译后文本内容查看显示 1 cat、2 more、3 less、4 head、5 tail 1:cat [选项][文件] 选项:-n 对输出的所有行编号 -b 对非空输出行编号 -s 当遇到连续两个以上空行,就将连续空行合并为一行的空行 2:more [选项][文件名] 分页显示文本文件内容,空格键显示下一页,B键查看上一页内容,Q键退出 选项:+n 从第n行开始显示文件内容,n代表数字 -n 一次分页显示的行数,n代表数字 3:less [选项][文件名] 是more的改进版,允许使用者上下滚动,Q键退出,上下键滚动 4:head [选项][文件名] 显示指定文件的头几行,默认10行 -n 5 指定行数,如 5行 -c 100 指定字节,如 100字节 5:tail [选项][文件名] 显示指定文件的末尾几行,默认10行 -n 5 指定行数,如 5行 -c 100 指定字节,如 100字节 ==================================================================== mkdir权限 每个文件可以设置三类用户的访问权限:文件的用户所有者(属主)、文件的组群所有者(属组)、系统中的其他用户(其他用户)。 每一位用户都有对文件或目录的读取、写入和执行权限 权限表示法:1 字符表示法 读取:r 写入:w 执行:x 不具有权限:- 9个权限位,每3位一组,分别是属主、属组、其他用户的权限 2 数字表示法(八进制) 读取:4 写入:2 执行:1 无权限:0 例如:-rw-rw-r-x 665 【第一位是类型】 drwx------ 700 mkdir [选项][目录] 常用选项:-m 对新建的目录进行权限设置,在没有-m时默认权限755 例题:创建权限为777的空目录newdir1 #mkdir -m 777 newdir1
3、文本相关操作
文件和目录操作(2)
1、cp 2、mv 3、rmdir 4、rm 5、wc
1、cp:复制文件或目录到其他目录中
cp [选项][源文件|目录][目标文件|目录]
-r 此时目标必须为一个目录
例题:将/newdir1/file1文件复制到/home目录下
#cp /newdir1/file1 /home
将/newdir1目录以及子文件和子目录都复制到/root目录中【复制整个目录,包括目录里的文件等】
#cp -r/newdir1 /root
将文本文件/dir1复制到/home中,并重命名为dir2
#cp -r/dir1 /home/dir2
2、mv:对文件或目录更改名称以及移动文件和目录路径
mv [选项][源文件|目录][目标文件|目录]
例题:将/newdir1目录下所有已file开头的文件剪切到/newdir1/newdir2目录下
#mv /newdir1/file* /newdir1/newdir2
将/newdir1目录改名为/dir1
#mv /newdir1 /dir1
3、rmdir:删除空目录【用的很少】
rmdir[选项][目录]
4、rm:删除文件或目录
rm [选项][文件|目录]
-f: 强制删除 [一般与r连用]
-r: 删除目录及其内容
例题:删除当前目录下的file1文件
#rm file1
删除目录/dir及该目录下的所有文件一同删除
#rm -rf /dir1
5、wc:统计指定文件行数、单词数、字节数和字符数
wc [选项][文件]
例题:统计text.txt文件的行数、单词数、字节数
#wc text.txt
统计/etc/passwd文件的行数
#wc -l /etc/passwd
或#cat /etc/passwd | wc -l
============================================================
文本内容处理:
1、sort,2、uniq,3、cut,4、comm,5、diff
1、对文件中的数据【字符】进行排序,并将结果显示在标准输出上。默认升序,并没有修改,只是单纯输出。
sort [选项][文件名]
选项:-r 逆序输出结果
-u 输出中去除重复行
-n 按数字排序
-o 将排序结果输出修改保存到原文件中【不可用输出重定向】
--将text1中内容顺序修改为升序
#sort text1 -o text1
2、比较一个文件,将文件内的重复数据从输出文件中删除,只留下每条记录的唯一样本,只是单纯输出。
注意:使用之前必须内容要进行排序
uniq [选项][文件名]
选项:-d 只输出重复的行
-u 只输出不重复的行
-c 显示输出中的每行行首加上本行中出现次数
3、从每一行剪切字节,字符和字段并将这些字节、字符和字段写至标准输出。只是单纯输出。
cut [选项][文件]
-d 指定剪切完的分隔符作为分界
-f 指定剪切字段 可用,【 字段1,字段2,字段3】或-【 字段1-字段3】
-b 指定剪切字节
--显示/etc/passwd的第一个和第五个字段,用冒号隔开
#cut -f 1,5 -d:/etc/passwd
--显示当前登陆用户的第三个字节
#who|cut -b 3
who是一个命令:显示当前登陆的用户资料
4、比较两个文本文件,并将其结果显示出来,最后输出三列,第一列显示第一个文件独有的行;只是单纯输出。
第二列显示第二个文件仅有的行;第三列显示两个文件都存在的行。
注意:使用之前必须内容要进行排序
comm [选项][文件1][文件2]
-1 不显示文件1独有的行
-2 不显示文件2独有的行
-3 不显示两个文件共有的行
--显示两个文件共有的行
#comm -12 file1 file2
5、比较两个文本文件,输出不同
注意:不要求事先排序。
diff [选项][文件1][文件2]
输出内容:与ed编译器内容相关
a -- add
c -- change
d -- delete
| 表示前后两个文件有不同
< 后面文件比前面文件少1行内容
> 后面文件比前面文件多1行内容
==================================================
查找:
1、grep 2、find 3、cal 4、date 5、hwclock
1、在文件内查找符合条件的字符串
grep [选项][查找模式][文件名]
--在文件text中搜索“banana“
[root@192 aaa]# grep 'banana' text1
--在一text开头的文件中搜索字符“banana”
[root@192 aaa]# grep 'banana' text*
--在文件text2中找出以p开头的行内容 【^ 指定字符开头】
[root@192 aaa]# grep ^p text2
--在text2中,找到不是以p开头的行内容【-v 显示不包含指定内容的行】
[root@192 aaa]# grep -v ^p text2
--在文件text2中,找出以le结尾的行内容【$ 指定字符结尾】
[root@192 aaa]# grep le$ text2
--查找目录/etc下带有al文件名 //grep 只能查找文件,所以需要管道符号
[root@192 aaa]# ls /etc|grep 'al' 【管道符号将前面的运行结果作为内容作为输入传递给后面的命令】
2、在目录中查找文件,并执行制定操作
find [路径][选项]
-name 按照文件名查找
-type 按照文件类型查找文件
-size +nk 查找大小超过n的文件n为数字,c代表字节;k代表KB;m代表MB;g代表GB
-empty 查找空文件,可以使普通的文件或目录
--将当前目【.】及其子目录【/】中,以‘text’打头的文件列出【./ 代表当前目录及子目录】
#find ./ -name 'text*'【通配符要跟''】
--将/sbin目录及其子目录【/】所有链接文件列出
#find /sbin/ -type l
--将/sbin所有大于1024KB的文件列出
#find /sbin -size +1024k
--查找/root目录中为空的文件或子目录
#find /root -empty
3、显示计算机系统的日历
cal [选项][[[日]月]年]
-m 以星期一为每周第一天的方式显示
-j 显示出给定月中的哪一天,是一年中的第几天【从1月1日开始】
-y 显示出整年的日历【-y=cal 2020】
--显示本月的日历
#cal
--显示2017年1月的日历
#cal 1 2017
--以星期一为每周第一天的方式显示
#cal -m
--以1月1日起的天数显示今年的日历
#cal -jy
--显示2018年8月到现在的天数
#cal -jy 8 2018
4、显示和设置计算机系统的日期和时间【root才可以设置】
date [选项][显示时间格式]
--显示当前日期时间
#date
--设置日期时间为2028年 2月2日19点14分
#date 020219142028 【月日时分年】
--设置时间为9时16分
#date -s 09:16:00
--设置计算机日期为2024年4月14日
#date -s 20240414 【年月日】
5、查看和设置硬件日期和时间(RTC)
-w 以系统时间更新硬件时间
-s 以硬件时间更新系统时间
--查看硬件时间
#hwclock
--以系统时间更新硬件时间
#date
#hwclock -w
--以硬件时间更新系统时间
#hwclock -s
=====================================================
下篇:linux基础命令行操作【2】_z输关的博客-CSDN博客



