Linux学习整理

目录

目录操作

cd

查看当前目录

列出目录和文件信息ls     list

创建目录

删除目录命令

递归创建目录(创建里面没有的目录文件夹)

搜索命令

搜索字符串文字

重命名

移动文件,剪切命令  move

复制命令

删除指定目录   remove force

修改目录和文件权限 ——chmod (change mode)

文件操作

创建文件

删除文件或者目录

find查找指定文件

查看目标文件的内容

more——分屏查看文件信息 

其他命令

echo命令——回显   

clear命令——清屏

重定向符号——输出重定向

管道符号——命令结果传递给下一个命令

 ln命令——创建链接文件

和时间相关的指令 

压缩文件

LInux 权限

文件访问权限的相关设置

file指令 

终端命令格式


目录操作

cd      

cd是跳转到目录操作   change directory切换目录

cd 用户名   进入某一目录
cd ..      打开上一级目录   
cd ~      进入主目录
cd /       根目录 绝对路径
cd ../..   根目录 相对路径
cd –      上一次访问的目录
cd /tmp    进入/tmp目录
cd a/b     打开a文件夹中的b文件夹
cd  +文件的首字母+tab就可以自动补全文件

查看当前目录

pwd:print working directory 密码

pwd

列出目录和文件信息ls     list

-rw-r--r--  1root  root  21 10月 10 20:30 file3

说明

文件类型

d:目录,-:文件,l:链接文件
文件存取控制参见“文件存取说明”
硬链接数文件被硬链接的次数
文件属主文件所属的用户
文件大小文件大小,默认单位为:字节
文件修改时间文件修改时间
文件或者目录名./:当前目录。../:上一级目录。.文件名:隐藏文件
ls             列出当前路径下的文件
    –l         列出目录和文件的详细信息,里面的total是文件的总数  按照字节显示
显示出来的d开头的是目录,-开头的是文件,l开头的是链接文件
    –a         列出当前目录下所有的文件,包括以.开头的隐藏文件
    –d         列出当前目录下所有的文件,包括以.开头的隐藏文件
    -k         以k字节的形式表示文件的大小。ls –alk指定文件
    -r         对目录反向排序。
    -t         以时间排序
    -s         在l文件名后输出改文件的大小
    -R         列出所有子目录下的文件(递归)
    -1         一行值输出一个文件
    ls –l –a   列出当前所有文件包括详细信息 
    ls –l –h   按照kb显示  或者ls –lh  ls –hl  ls -lha

*代表任意多个字符

ls *a   查看以a结尾的文件或者目录的内容

ls a*  查看以a开头的文件或者目录的内容

ls *a*   只要名字里面有a就显示

ls a?  以a开头,后面任意一个字符

ls ?a  以a结尾,前面任意字符

ls ??  只有任意两个字符

[]代表范围

ls [a,b,c]*   以a或者b或者c开头,后面任意的文件

ls [a-f]*      以a到f范围内的任意一个字符

创建目录  

mkdir:make directory 建立目录

mkdir a       在当前目录下创建a目录,相对路径
mkdir b       在当前目录下创建b目录,相对路径
mkdir a/b -p  在当前工作目录下创建a目录,并在a目录下创建b目录
mkdir -p a/b/c 有嵌套关系的多级目录,在主目录下创建一个a目录里面有b目录,b目录里面有c目录

删除目录命令

remdir :remove directory 删除目录

-p   当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。

remdir -p 目录名或者文件    删除空目录或者空文件
remdir -f 即使问价属性为只读(写保护)也可以直接删除
remdir -i 删除前逐一询问确认
remdir -r 删除目录及其下所有文件

递归创建目录(创建里面没有的目录文件夹)

mkdir -p temp/nginx

搜索命令

find / -name 'b'		查询根目录下(包括子目录),名以b的目录和文件;
find / -name 'b*'		查询根目录下(包括子目录),名以b开头的目录和文件;

搜索字符串文字

在文件中搜索字符串,将找到的打印出来
grep "a" temp    在当前目录下的temp文件中找到含有a的文件
grep -i  忽略大小写的不同,所以大小视为相同
grep -n  顺便输出行号
grep -n "a" temp    在当前目录下的temp文件中找到含有a的文件,并且输出对应的行号
grep -v  反向选择,显示出没有“搜寻字符串”内容的那一行

重命名

mv 原先目录或文件名 新目录或新文件名   mv case demo 

移动文件,剪切命令  move file移动文件

mv 源文件或目录 目标文件或目录
mv /aaa /bbb    将根目录下的aaa目录,移动到bbb目录下
mv bbb usr/bbb  将当前目录下的bbb目录,移动到usr目录下,并且修改名称为bbb;
mv aaa/b.txt b.txt 把aaa目录下的b.txt移动到当前目录下,命名为b.txt
mv b.txt c.txt 将b.txt文件改名为c.txt,同一目录下不移动只改名

复制命令

cp:copy file 复制文件

cp 源文件或目录 目标文件或目录
cp -f     强行复制文件或目录,不论目的文件或目录是否存在
cp -i     覆盖文件之前先询问用户
cp -r     递归处理,将指定目录下的文件与子目录一并处理,若源文件或目录的形态,不属于目录或符号链接,则视为普通文件处理
cp -r /aaa /bbb    将/目录下的aaa复制到/bbb目录下
cp -r /aaa /bbb/a  将/目录下的aaa复制到/bbb目录下,并修改名为a

删除指定目录   remove force

rm -rf /bbb   强制删除/目录下的bbb目录,且不会提示是否删除,直接bbb下的所有东西全部删除
rm -r /bbb   正常删除,会询问是否删除每个文件

修改目录和文件权限 ——chmod (change mode 改变模式)

chmod [选项] 权限 文件目录

chmod   设置文件的访问权限
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限,没有的去掉权限
用户符号:   
u=user文件所属用户
g=group文件所属的组
o=other其它用户
a=all所有用户

# chmod u+w /home/abc.txt  给home的abc.txt文件给予可写权
# chmod o-x /home/abc.txt  给home的abc.txt文件去掉可执行权
# chmod a+rwx abc.txt  给abc.txt文件的所有用户添加所有权限
# chmod o=r abc.txt   只保留r,wx去掉
数字法修改权限:r4,w2,x1
# chmod 755 abc.txt   给abc.txt文件的用户读写可执行,给组可读可执行,其他用户可读可执行
—— u+rwx,g+rx-w,o+rx-w

三位8进制数字
# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt

chown  修改文件的拥有者
# chown user1 f1

chgrp  修改文件或者目录的所属组

文件操作

创建文件

touch 文件名

如果文件  不存在,可以创建一个空文件;

如果文件  存在,可修改文件的末次修改日期

删除文件或者目录

rm 文件
rm -r 目录
rm -r aaa      删除aaa这个目录
rm -r a.java   删除当前目录下的a.java文件(每次询问是否删除)
rm -rf a.java  强制删除当前目录下的a.java文件,不询问,有就删,没有就不报错
rm -rf ./a*    强制删除当前目录下以a开头的所有文件
rm -rf ./*     强制删除当前目录下的所有文件(删完就全没了,最好想想在删除)

find查找指定文件

find . -name '*.pyc' -exec rm -rf {} \;     递归删除.pyc格式的文件
find . -name "*" -size 14500c -exec rm -rf {} \; 递归删除指定大小的文件
find . -name "*" -size 14500c -print -exec rm -rf {} \;递归删除指定大小的文件,并打印

 find 开始目录 -name 文件名

find ./     从当前目录开始查找所有子目录,是否存在a.txt文件

find /    从根目录开始查找所有子目录,是否存在a.txt文件

find . -name "*" -size 14500c -print;                       打印当前文件夹下指定的文件

"." 表示从当前目录开始递归查找

"-name '*.exe' "根据名称来查找,要查找所有以.exe结尾的文件夹或者文件

" -type f "查找的类型为文件

"-print" 输出查找的文件目录名

-size 145800c 指定文件的大小

-exec rm -rf {} \; 递归删除(前面查询出来的结果)

查看目标文件的内容

cat:concatenate  串联

cat 文件
cat version  查看linux版本
cat cpuinfo  查看cpu信息
cat -b 对非空输出行编号
cat -n 对输出的所有行编号
cat -s 不输出多行空行

more——分屏查看文件信息 

more 文件名  分页显示文件的内容,按空格键显示下一页,按b显示上一页,按q退出
more -n 对输出的所有行进行编号

less和more相似,但是more只能向前移动,不能向后移动,less可以随意浏览文件,且在查看之前不会加载整个文件 

less 参数 文件
    -i      忽略搜索时的大小写
    -N      显示每行的行号
    /       字符串:向下搜索“字符串”的功能
    ?       字符串:向上搜索“字符串”的功能
    n       重复前一个搜索(与 / 或 ? 有关)
    N       反向重复前一个搜索(与 / 或 ? 有关)
    q       quit
head -n 文件     显示的行数
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行
tail -f 文件名   显示文本文件的最后几行,如果文件的内容有增加,就实时的刷新
tail -n <行数>   显示行数

tail -f可以动态的显示后台服务程序的日志,用于调制和跟踪程序的运行

其他命令

echo命令——回显   

也就是回声的功能,输入什么显示什么 echo aaa 输出aaa

clear命令——清屏

重定向符号——输出重定向

命令 参数 > 文件名   

把一个命令指定的结果不输出到屏幕,而是重定向到一个指定的文件中

如果文件不存在,就创建文件,如果文件存在就覆盖文件

命令 参数 >> 文件名   

把一个命令指定的结果不输出到屏幕,而是重定向到一个指定的文件中

如果文件不存在,就创建文件,如果文件存在文件后面追加新内容

#把ls -l命令执行结果放到a.txt中

ls -l  > a.txt

#把echo命令执行的结果放到a.txt中

echo aaa > a.txt

管道符号——命令结果传递给下一个命令

正常搜索一个文件名存在ab的文件是 

ls -al > a.txt   把所有文件给a.txt

grep "ab" a.txt  在在a.txt里面搜索以ab开头的文件  

 这样优点太过于繁琐,所以使用管道命令,可以把一个命令的输出直接作为另外一个命令的输入

ls -al | grep "ab"    就不需要把文件导入,在导出了,把ls -al的结果作为more的输入

ls -al | grep "^d"   查找目录中以d开头的行,也就是目录

ls -al | grep "^-"   查找目录以-开头的文件

ls -al |grep "^d.*s$"  显示名字以s结尾的目录

搜索一个文件,并且分屏

ls -al > a.txt结合more a.txt 

可以使用管道     ls -al | more

cat结合重定向可以快速的合并文件

cat 文件1 文件2 文件3 > 文件4   把文件1,文件2和文件3内容合并到文件4里面

cat a.txt b.txt > c.txt   把a.txt和b.txt合并放到c.txt

 ln命令——创建链接文件

link file 链接文件

创建软链接——ln -s 原文件链接文件

ln -s a.txt a    给a.txt创建 链接文件

创建硬链接 ——ln 原文件 硬链接文件

ln a.txt b   给a.txt创建一个硬链接b

软链接文件,用ls -l 显示文件的时候,第一行表示为l

硬链接文件,用ls -l 显示文件硬链接数会增加

软链接与 硬链接的区别

   软链接不占用磁盘空间,硬链接会占用磁盘空间

   当原文件不存在,软链接也没有意义了,但是硬链接还可以使用

和时间相关的指令 

date +%Y:%m:%d   显示年月日
date +%F         显示年月日

date +%s          从1970年1月1日开始经过的秒数

cal -3 2021       显示当前年(2021年)代的前一个月,当前月,下一个月的月历
cal -j 2021       显示当前年(2021)的第几天
cal -y 2021       显示当前年份(2021)的日历

压缩文件

zip 压缩文件.zip 目录或文件     将目录或文件压缩为zip格式
zip case01.zip case01/*       将case01目录进行压缩
unzip case01.zip -d /tmp       将case01的压缩文件进行解压,解压到tmp目录下

LInux 权限

Linux有两种用户:超级用户root和普通用户

切换两种用户的方式su ,超级用户切换到普通用户su user ,普通用户切换到超级用户 su root 

文件访问权限的相关设置

r                对于文件,没有r,文件就不可读了

                 对于目录,没有r,就不能用ls看目录的内容了

w              对于文件,没有w文件内容只读不可写

                对于目录,没有w就不可以在这个目录下创建新的文件

x               对于文件,如果这个文件是个可执行程序,没有x,就不能执行了

                 对于目录,没有x,不能用cd进入之歌目录

   

file指令 

辨识文件类型  -

-c详细显示指令执行过程,便于排错或者分析程序执行的情形

-z尝试去解读压缩文件的内容

使用sudo分配权限

终端命令格式

Command [-options] [parameter]    

[]代表可选

command :命令名,相应功能的英文单词或者单词的缩写

[-options]:选项,可用来对命令进行控制,也可以省略

[parameter]:传给命令的参数,可以是零个、一个或者多个

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值