熟悉常用的Linux操作 cd ls mkdir rmdir cp mv rm tac cat more head tail touch chown touch tar grep

熟悉常用的Linux操作

操作系统:Linux


cd命令:切换目录

(1)切换到目录 /usr/local
(2)去到目前的上层目录
(3)回到自己的主文件夹

在这里插入图片描述

1. cd / 切换到根目录;
2. cd . 切换到当前目录;
3. cd ~ 切换到当前用户的家目录;
4. cd … 切换到当前目录的上一级目录;
5. cd 到指定目录;

ls命令:查看文件与目录

(4)查看目录/usr下所有的文件
在这里插入图片描述

1.-1 每列仅显示一个文件或目录名称。
2.-a或–all 列出目录下所有文件和目录,包括以 . 开头的隐含文件。
3.-l 使用详细格式列表,除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。ls -l 等于 ll
4.-S 用文件和目录的大小排序。

mkdir命令:新建新目录

(5)进入/tmp目录,创建一个名为a的目录,并查看有多少目录存在
(6)创建目录a1/a2/a3/a4

在这里插入图片描述

1.-p 递归创建多级目录
2.-m 建立目录的同时设置目录的权限
3.-z 设置安全上下文
4.-v 显示目录的创建过程
5.在当前工作目录中,创建一个目录文件并设置700权限,不让除所有主以外任何人读、写、执行它:mkdir -m 700 dir2
6.在当前工作目录中,一次性创建多个目录文件:mkdir dir3 dir4 dir5
7.在系统根目录中,一次性创建多个有嵌套关系的目录文件:mkdir -p /dir1/dir2/dir3/dir4/dir5

rmdir命令:删除空的目录

(7)将上例创建的目录a(/tmp下面)删除
(8)删除目录a1/a2/a3/a4,查看有多少目录存在

在这里插入图片描述

1.-p: 递归删除,删除目录之前是否删除父目录,如果父目录为空的话就删除
2.-v: 删除目录时,显示删除信息
3.–help: 显示此帮助信息并退出
4.–version: 输出版本信息并退出
5. 提示:rmdir不能删除非空的目录,如果想删除非空的目录用rm -r命令

cp命令:复制文件或目录

(9)将主文件夹下的.bashrc复制到/usr下,命名为bashrc1
(10)在/tmp下新建目录test,再复制这个目录内容到/usr

在这里插入图片描述

cp:copy files and directories(复制文件和目录)
1.-f force 若目标文件已存在,则会直接覆盖原文件
将文件yejx.txt改名为aaa.txt:cp -f yejx.txt aaa.txt
2.-i interactive 若目标文件已存在,则会询问是否覆盖
3.-p preserve 保留源文件或目录的所有属性
4.-r recursive 递归复制文件和目录
复制目录到/home/下: cp -r /root/yejx/ /home/
复制多个文件到tmp中:cp -r a.txt b.txt c.txt tmp/
5.-d 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件目录连接的原始文件或目录
6.-l link 对源文件建立硬连接,而非复制文件
7.-s symbolic-link 对源文件建立符号连接,而非复制文件
8.-b 覆盖已存在的文件目标前将目标文件备份
9.-v verbose 详细显示cp命令执行的操作过程

mv命令:移动文件与目录,或更名

(11)将上例文件bashrc1移动到目录/usr/test
(12)将上例test目录重命名为test2

sudo mv bashrc1 /usr/test
sudo mv test test2

mv(move),可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。
第二个参数类型是文件时,mv命令完成文件重命名,源文件(目录)只能有一个(也可以是源目录名),源文件或目录重命名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
1.-b 如果已存在相同文件名,则覆盖前进行备份
2.-f 如果已存在相同文件名,而用户不具有写的权限,则强制覆盖
3.-i 如果已存在相同文件名,覆盖前提示用户进行确认
4.-u 比较原文件与目标文件修改时间,如果目标文件较新则不覆盖
5.-v 列出所有被移动或重命名的文件
6.-t 指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
将1.txt改成2.txt: mv 1.txt 2.txt
将2.txt移动到rumenz目录: mv 2.txt rumenz/
将3.txt 4.txt 5.txt移动到rumenz: mv 3.txt 4.txt 5.txt rumenz/
将3.txt 4.txt 5.txt移动到rumenz: mv -t rumenz/ 3.txt 4.txt 5.txt
将3.txt改名为4.txt,4.txt已经存在则给出提示 mv -i 3.txt 4.txt
将4.txt强行改名为5.txt,没有提示: mv -f 4.txt 5.txt
把当前目录下rumenz目录下所有的文件移动到test目录: mv rumenz/
test/
移动目录 mv rumenz/ test/
移动当前目录下所有的文件到上一级目录: mv * …/
文件被覆盖前做简单备份,前面加参数-b: mv 4.txt(用来覆盖的的) -b 5.txt(被备份的)*

rm命令:移除文件或目录

(13)将上例复制的bashrc1文件删除
(14)将上例的test2目录删除

cd /usr/test2
sudo rm -i bashrc1

cd /usr
sudo rm -i -r test2
在这里插入图片描述

*1.-f 强制删除,不管有没有文件,不用返回任何提示
2.-i 删除每一个文件都要返回询问提示
3.-r,-R  删除目录
删除单个文件 rm -f file1 #删除file1且不用返回任何信息
rm -i file1 #删除file1之前询问是否删除file1
删除就输入y,不删除就n
删除多个文件 rm -f file1 file2 #删除file1和file2
删除后缀为.o的所有文件,每删除一个文件就询问一次 rm -i .o
删除目录rm -r dir1/ #删除目录dir1及dir1下的子目录

tac命令:反向列示查看主文件夹下的.bashrc文件内容

tac ~/ .bashrc
在这里插入图片描述

tac命令用于将文件已行为单位的反序输出,即第一行最后显示,最后一行先显示
-a 将内容追加到文件的末尾

more命令:一页一页翻动查看,查看主文件夹下的.bashrc文件内容

more ~/.bashrc**
在这里插入图片描述

1.cat从上到下显示在屏幕上,more可以按页查看,跳转行等功能。
2.+n 从笫n行开始显示。
3.-n 定义屏幕大小为n行。
4.+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示。
5.-c 从顶部清屏,然后显示。
6.-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能。
7.-l 忽略Ctrl+l(换页)字符。
8.-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似。
9.-s 把连续的多个空行显示为一行。
10.-u 把文件内容中的下画线去掉。
1.空格键 (space) 代表向下翻一页。
2.Enter 代表向下翻n行,需要定义,默认为1行。
3.q 代表立刻离开 more ,不再显示该文件内容。
4.Ctrl+F 向下滚动一屏。
5.Ctrl+B 返回上一屏。
6.= 输出当前行的行号。
7.:f 输出文件名和当前行的行号。
8.!命令 调用Shell,并执行命令。
9.V 调用vi编辑器

head命令:取出前面几行。查看主文件夹下的.bashrc文件内容

more ~/.bashrc**
在这里插入图片描述

## (18)查看主文件夹下.bashrc文件内容前20行

head -n 20
在这里插入图片描述

(19)查看主文件夹下.bashrc文件内容,后面50行不显示,只显示前面几行
 head ~/.bashrc

在这里插入图片描述

1.-c N 显示文件前N字节的内容
2.-n N显示文件的前N行内容
3.-q隐藏文件名(多个文件时,内容头部以文件名作为开头显示)
4.-V显示文件名(默认单个文件不显示,多个文件显示)

tail命令:取出后面几行,(19)查看主文件夹下.bashrc文件内容最后20行

tail -n 20 ~/.bashrc
在这里插入图片描述

(20)查看主文件夹下.bashrc文件内容,只列出50行以后的数据
tail ~/.bashrc

1.-在这里插入图片描述
c, --bytes=K 输出最后的 K 个字节;
或者使用 -c +K 从每个文件的第K字节开始打印。
2.-f(-F), --follow[={name|descriptor}] 随着文件的增长,输出附加数据;(动态输出最新 的信息); 没有选项参数意味着“描述符”
3.-n, --lines=K 输出最后的K行,而不是最后的10行;
或者使用-n +K从第K个开始输出
4.-q, --quiet, --silent 当有多个文件参数时,不输出各个文件名
5.-v, --verbose 当有多个文件参数时,总是输出各个文件名

touch命令:修改文件时间或创建新文件

22)在/tmp下创建一个空文件hello并查看时间
在这里插入图片描述

(23)修改hello文件,将日期调整为5天前
cd /tmp
touch hello
ls -l hello
touch -d “5 days ago” hello

在这里插入图片描述

1.如果文件不存在,使用touch命令默认创建一个空文件。
2.使用touch命令,如果文件存在则更新atime,mtime,ctime为当前时间。
3.-a更新atime和ctime 使用-a参数,touch文件时,文件存在只会更新atime和ctime为当前时间。
4.-m参数修改mtime 使用-m参数,touch文件时,文件存在只会更新mtime和ctime为当前时间。
5.-d参数将文件的atime,mtime,ctime按照设置修改。使用touch -d "3 years ago"可以将文件的三个时间改为3年前。
6.-t参数修改atime和mtime。使用touch -t "[[CC]YY]MMDDhhmm[.ss]"修改文件的atime和mtime
7.-at参数只修改atime。如果只想更新atime可以使用-at组合参数。
8.使用-mt参数只修改mtime。如果只想更新mtime可以使用-mt组合参数。
9.-r参数修改文件时间属性为另一文件时间属性。通过touch -r file1 file2,将file2的时间属性值修改为file1文件的时间属性。
10.-h更新软连接的时间属性。touch命令默认更新的是真实文件的时间属性,如果需要更新软连接的时间属性,需要使用-h参数。

chown命令:修改文件所有者权限

(24)将hello文件所有者改为root帐号,并查看属性
sudo chown root hello
ls -l hello

在这里插入图片描述

chown 命令用来改变某个文件或目录的属主(owner)和所属用户组(group)。仅限超级用户 root 使用。
在指定属主与所属用户组时有如下几种情况:
(1)如果只指定了属主,则只改变每个给定文件的属主,不会更改文件的用户组;
(2)如果属主后面跟一个冒号和用户组,则文件所属的用户组也将被更改;
(3)如果用户名后面有冒号但没有组名,则该用户将成为文件的属主,并且文件属组将更改为该用户的登录组;
(4)如果给定冒号和组名,但省略了属主,则只更改所属组。这种情况,chown 的功能等同于 chgrp;
(5)如果只给定一个冒号,或者整个操作数为空,则属主和用户组都不会更改。
OWNER 与 GROUP 之间的冒号可以使用点号替代。
(1)只修改文件属主为 root。
chown root FILE
注意,指定的属主必须是系统合法用户,可以查看文件 /etc/passwd 确定当前系统有哪些用户。
(2)修改文件属主和用户组均为 root。
chown root:root FILE
(3)只修改文件所属组为 root。
chown :root FILE
(4)递归修改所有的文件及子目录属主和所属组为 root。
chown -R root:root /DIR
(5)显示修改的动作,使用 -v 冗余模式输出。
chown -vR root:root /DIR
find命令:文件查找
(25)找出主文件夹下文件名为.bashrc的文件
find ~/.bashrc
在这里插入图片描述

tar命令:压缩命令

(26)在/目录下新建文件夹test,然后在/目录下打包成test.tar.gz
(27)解压缩到/tmp目录
cd /
sudo mkdir test
sudo tar -czvf test.tar.gz test
sudo tar -xzvf test.tar.gz -C/tmp

在这里插入图片描述
在这里插入图片描述

打包操作
1.-c 将多个文件或目录进行打包
2.-f <包名> 打包到指定文件,-f后面要紧跟完整的文件名(包括扩展名)
3.-v 打印出打包过程
4.-u 在tar包中添加新的文件(无法直接在压缩包中添加文件)
解包操作:
1.-x 解包操作
2.-f <包名> 解包到指定文件,f后面要紧跟完整的文件名
3.-C<目录> 指定目录为解包位置
4.-t 查看包里的文件
同时(解)打包并(解)压缩(最常用)
1.-z 压缩为".tar.gz"格式,或对.gz压缩包进行解压缩
2.-j 压缩为".tar.bz2"格式,或对.bz2压缩包进行解压缩

grep命令:查找字符串

(28)从~/.bashrc文件中查找字符串’examples’
在这里插入图片描述

(29)配置Java环境变量,在~/.bashrc中设置
(30)查看JAVA_HOME变量的值
grep examples ~/.bashrc
export JAVA_HOME=C:\Users\Administrator\AppData\Local\Android\Sdk
source .bashrc
echo $JAVA_HOME

一、管道
管道符号: |
管道的作用:管道的作用是将 前面命令的输出 作为后面命令的输入
二、grep 查找命令
1.grep是查找指令,支持模糊搜索
2.grep选项:
| grep -n 显示匹配行和行号
| grep -i 忽略大小写进行查找
三、grep 命令不与管道配合的语法
grep 选项 “查找内容” 路径
xxx | grep 选项 “查找内容”
命令一 和 命令二 的作用是一样的,只不过写法不同,一个利用了管道一个没有利用

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值