Linux常用命令笔记

Linxu核心命令与文件管理
cd 命令
cd 语法
cd	可选的参数  文件夹

几个特殊的目录
.  当前的工作目录
.. 上一级的工作目录
-  上一次的工作目录

ls
list 列出文件夹中的内容
ls 语法

ls 可选参数  可选的文件夹对象

-a all的意思,显示出所有的文件内容,以及隐藏的
-l 详细的输出文件夹中内容
-h 以人类可阅读的形式,输出文件大小
--full-time 以完整的时间格式输出
-t 根据最后修改的时间排序文件
-F 在不同的文件结尾,输出不同的特殊符号
    以/结尾的就是文件夹
    以*结尾的就是可执行的文件
    以@结尾的就是软连接,快捷方式
    普通文件类型,结尾什么都没有
    
    
-d 显示文件夹本身信息,不输出其中的内容
-r reverse 逆转排序
-s 大写的s,针对文件大小进行排序,默认是从大到小
-i 显示出文件的inode信息(文件的身份证号,存储了文件的大小,位置,权限等等)
pwd 命令
print work directory 打印工作目录的意思
会输出当前所处的一个绝对路径

su
su命令用户切换

语法
su - 用户名 # 完全的环境变量用户切换

logout
退出当前系统用户
mkdir
make directory  创建文件夹
语法
mkdir 文件夹名

-p 递归创建文件夹

mkdir -p /a/b/c/d # 递归创建文件夹,且绝对路径是a/b/c/d

多量创建 mkdir {a,b.c.d}

批量创建  mkdir a{11..100}


touch 命令
用法:touch [选项]....文件...
将每个文件的访问时间和修改时间改为当前时间

touch有两个作用
1.创建普通文件,在linux下文件的后缀格式仅仅是一个名字而已
2.修改文件的时间

不存在的文件将会被创建为空文件,除非使用-c 或-h 选项

touch {连续数字或字母} 创建多个文件序列
touch {1..10}
touch {a..z}

  -c, --no-create  不创建任何文件
  -t  STAMP        使用[[CC]YY]MMDDhhmm[.ss] 格式的时间替代当前时间
  -r, --referencce=文件 使用指定文件的时间属性替代当前文件时间
  touch -t 修改文件的时间
cp命令
用法:cp[选项]...[-T] 源文件 目标文件
  或:cp[选项]...源文件...目录
  或: cp[选项]...-t 目录 源文件...
 将源文件复制至目标文件,或将多个源文件复制至目标目录
  
 -r 递归式复制目录,即复制目录下的所有层级的子目录及文件 -p 复制的时候 保持属性不变
 -d 复制的时候保持软连接(快捷方式)
 -a 等于-pdr
 -p
 -i 覆盖前询问提示
 
 1.复制普通文件
 cp命令 你想复制那个文件 复制之后的文件名
 
 2.复制普通文件,且改名,放入到另一个文件夹中
 cp a.txt   ./a/ #复制放入其他文件夹,保留源文件名
 3.一次性复制多个文件,放入另一个文件夹中
 cp a.txt b.txt ./mjj/
 
 4.复制整个文件夹,必须加上-r参数
 cp -r mjj  mjj2
 
 
mv 命令
mv 命令就是move的缩写,作用是移动或是重命名文件

用法:mv[选项]...[-T] 源文件 目标文件
  或:mv[选项]...源文件...目录
  或:mV[选项]...-t 目录 源文件...
 将源文件重命名为目标文件,或将源文件移动至指定目录
 
 -f   --force   覆盖钱不询问
 -i   --interactive  覆盖前询问
 
 
 
 
 
 
 1.移动文件到另一个文件夹
 mv  ./mjj.jj ./oldboy  #把当前的mjj.jj文件  移动到oldboy文件夹中
 
 2.移动多个文件,放到另一个文件夹中
 mv luffy* ./oldboy/ #讲当前目录所有以luffy开头的文件,文件夹,都移动到oldboy目录下
 
 3.重命名的用法
 mv 旧的文件名 新的文件名
 mv mjj.txt mjj.txxxt
 
 4.-i参数的用法,覆盖前询问
 mv 在直接输入的时候,系统做了别名 ,如歌修改后的文件名存在,则会询问,是否要覆盖改文件
  
 5.强制性覆盖 -f
 
 
rm 命令
rm 命令就是remove的含义,删除一个或者多个文件,这个是Linux系统重要命令
-f --force 强制删除。忽略不存在的文件,不提示确认
-i
-r
-d, --dir 删除空目录
-r, -R, --recursive 递归删除目录及内容
-v, --verbose 详细显示进行的步骤
Linux 开关机命令
shutdown重启
语法:
shutdown -r 参数 -r --reboot 

shutdown -r 10  # 十分钟后重启
shutdown -r 0  # 立刻重启
reboot
关机
语法
shutdown -h --halt 停止的含义

shutdown -h 10 #十分钟后关机
shutdown -h 0 
shutidown -h now  # 立即关机
halt,poweroff,reboot 
Linux命令行常用快捷键
ctrl + c # 取消当前操作
ctrl + l # 清空屏幕内容
ctrl + d # 退出当前用户
ctrl + a # 光标移到行首
ctrl + e # 光标移到行尾
ctrl + U # 删除光标到行首的内容
VIM快捷键
vim提供的上下左右
h 向左
j 向下
k 向上
l 向右

移动光标的快捷键

w  移动到下一个单词
b  移动到上一个单词
数字0 移动到行首
字符$ 移动到行尾

按下g 移动到文章的开头
按下G 移动到文章的结尾

按下H 移动到屏幕的开头
按下L 移动到屏幕的结尾
按下M 移动大屏幕的中间

命令模式的查找
向下查找 /你要找的内容
        /love 我要查找love相关的信息,按下n跳转到下一个单词
向上查找 ?你要找的内容


命令模式下的复制,粘贴,删除

输入 yy 复制光标所在行
输入 4yy 复制4行内容

输入p 打印粘贴的内容

输入dd 删除光标当前行 

输入D 删除光标当前位置到行尾的内容

输入x 删除光标当前字符,向后删除

输入 x 删除光标当前字符,向前删除

输入 u 撤销上一步的动作

快捷操作

删除光标所在位置,到行尾的内容且进入编辑模式,输入大写c
输入0 在当前光标的下一行开始编辑
输入o 在光标的上一行开始编辑
输入A 快速进入行尾,且进入编辑模式
输入ZZ 快速保存退出


批量快捷操作

步骤
快捷删除
1.输入CRT + v 进入可视块模式
2.用上下左右命令,选择你选操作的块
3.选中块后,输入d 删除块内容
快捷插入多行
4. 选中块后,输入大写的I,进入写代码
5.按下esc两次,会自动生成多行代码

重定向符号
1.读取文件内容,且写入到另一个文件重,覆盖写入文件内容
cat douyin.txt  > kuaishou.txt

2.追加写入文件内容
cat douyin.txt >> kuaishou.txt

3.重定向写入符
cat < douyin.txt  # 把文件中的数据,发送给ct命令去读取

将文本内容拆分成多行
xargs命令

xargs -n 4 < shuzi.txt # 把文本内容拆多行

cat命令
用法:cat [选项] [文件]....[文件]或标准输入组合输出到标准输出

清空文件内容,慎用
> 文件名

-A,			等价于 -vET
-b,			对非空输出行编号
-e 			

1.对非空行显示行号
cat -b gushi.txt 
2.对所有行号显示行号
3.在每行结尾加上$符
4.减少空行数量,多个空行,减为1个
5cat -s gushi.txt

5.合并多个文件
cat douyin.txt gushi.txt > ./抖音.txt
6.非交互式的写入文件内容信息
cat >> lufei.txt  <<EOF
>
>
>EOF

7. cat清空文件的用法
1.直接清空文件,留下一个空行
echo > gushi.txt
2.直接清空文件内容,不留空行
> gush.txt

3.利用cat读取一个黑洞文件,然后清空其他文本
管道符
1.对字符串进行二次过滤
cat gushi.txt  |  grep "nihao"   查看gushi.txt 且对内容
grep命令
过滤字符串信息的命令 
more命令less
分屏查看文本内容的命令
语法
more  文件名  #分屏显示文件内容

按下enter回车是下一行

空格是向下滚动一个屏大小
= 显示当前行号
按下q 是退出more

head 命令和tail 命令
head 命令用于查看文件开头的n行
语法
head -5 文件名
head 文件名 #head默认显示10行

tail 默认从后向前开10行,也可以指定行数
tail 文件名 #显示默认后10行
tail -2 文件名 #显示后2行
-f 实时刷新文件内容变化
tail -f gushi.txt 

-F 不断的打开文件

cut命令
cut-在文件的每一行中提取片断
在每个文件FILE的各行中,把提取的片断显示在标准输出。
cut [参数] [数值区间] 文件

-b 以字节为单位分割
-n 取消分割多个字节字符,与-b一起用
-c 以字符为单位
-d 自定义分隔符,默认以tab为分隔符
-f 与-d一起使用,指定显示那个区域
N  第N个字符,字符或字段直至行尾
N-M 从第N到第M(并包括第M)个字节,字符或字段
-M 从第1周到第M(并包括第M)个字节,字符或字段


1.截取每一行的第4个字符 

cut -c 4 a.txt 

2.截取4到6个字符

cut -c 4-6 a.txt 

3.截取第5和7的字符

cut -c 5,7 a.txt 

4.截取一个范围的字符,如第四个到结尾

cut -c 4- a.txt 

5.截取一个范围的字符,如开头到第六个字符

cut -c -6 a.txt 

6.指定分隔符号,进行截取

cut -d ":" -f 区域范围 a.txt 

找出第三个区域的内容

cut -d ":" -f 3 a.txt 

找出开头到第三个区域的内容

cut -d ":" -f 3 a.txt | head -5 





sort 命令
1.对文本第一个字符进行排序,默认从小到大
sort -n file.txt 

2.对排序结果反转,从大道小排序
sort -nr file.txt 

3.对排序结果去重 
sort -u file.txt 

4.指定分割符号,指定区域进行排序
sort -n -t "." -k  4 IP.txt 


uniq命令
uniq命令可以输出或者忽略文件重的重复行,常与sort排序结婚使用
1.去除连续的重复行
uniq luffy.txt 
2.结合sort使用,去重更精准
sort -n luffy.txt | uniq 
3.统计每一行重复字数
sort -n luffy.txt | uniq -c 
4.只找出文件重重复行,且统计次数
sort -n luffy.txt | uniq -d -c 
5.找出只出现过一次的行
sort -n luffy.txt | uniq -c -u 

wc 命令
wc 命令用于统计we年的行数、单词、字节数
-c 打印字节数
-m  打印字符数
-L 打印最长行的长度
-w 打印单词数 

1.统计文件的行数
wc -l a.txt 
2.统计单词的数量
echo "a.txt" a b c d e | wc -w 
3.统计字符数量
echo "a" | wc -m 
字符串结尾有一个$符 在统计字符数量时需要多计算一个$符号
验证 "a" | cat -E 进行验证
tr命令
-c 取代所有不属于第一字符集的字符
-d 删除所有属于第一字符集的字符
-s 把连续重复的字符以单独一个字符表示
-t 先删除第一字符集较第二字符集多出的字符
1.替换标准输入中的大小写
echo "my name is alex " | tr '[a-z]' 'A-Z'
2.使用-d删除参数
echo "my name is alex and i am 999 years lo " |tr -d 'a'
3.把文件当做标准输入,进行字符替换
tr 'a' 'A' < alex.txt 
tar
[root@localhost opt]# tar -cvf xixi.tar ./* # 打包命令
[root@localhost opt]# tar -czvf xixi.tar.gz ./* 
# 打包以及压缩
[root@localhost opt]# tar -xzvf ../xixi.tar.gz
# 解压缩
# gzip无法压缩文件夹,必须先tar对文件夹打包后,才可以gzip压缩

[root@localhost opt]# gzip ./*.txt
[root@localhost opt]# zip aaa.zip ./*
# zip压缩命令

[root@localhost opt]# unzip ../aaa.zip  解压缩
# 它会默认将文件解压到当前目录,如果要解压到指定目录,可以加上 -d 选项 


LInux文件管理练习题
1.linux命令格式是什么样的?
#linux命令 可选参数 你要操作的对象
#显示跟目录下的文件内容
ls  /


2.linux命令必须添加参数才能执行吗?
#不是


3.解释linux的命令提示符,如何用linu命令解析
whoami # 显示当前机器登录的用户
hostname # 查看主机的名字
hostnamectl set-hostname 新的主机名 # 更改主机名
~代表用户家目录
# 超级用户的身份提示符
$ 代表普通用户的身份提示符


4.linux的目录分隔符是?
# 是正斜杠 /
/ 在开头就是根目录,除了开头都是目录分割符



5.简述Linux的目录结构
linux的目录结构是一颗倒状树
以 / 根目录为起点
/root
/home 
/opt 
/usr等  linux类似windows中只有一个c盘



6.切换到上一级目录
. 当前工作目录
.. 上一级的工作目录
- 上一次的工作目录
~  当前系统登录用户的家目录

cd ..



7.切换到上一次目录
cd -



8 .切换到用户家目录
cd ~ 



9.查看当前工作目录
pwd



10. 当前目录是/home,以绝对、相对两种路径方式进入/opt目录
绝对路径:路径以根目录为起点,就是绝对路径  /opt/a/b
相对路径: 非根目录为起点都是相对路径
./xiaoxio/linux
../xiaoxiao/linux
xiaohuang/linux
# 相对路径方式
/home
cd ../opt
#绝对路径方式
cd /opt 


11.列出/opt/下所有文件,包含隐藏文件,且心事详细信息(时间、文件大小)
ls -a -l /opt 



12.以树状结构显示文件夹内容
tree /opt # 树状显示/opt下的内容



13.一条命令创建/tmp/a/b文件夹
mkdir -p /tmp/a/b



14.创建python脚本first.py
touch first.py 


15.一条命令创建/tmp/a1  、 /tmp/a2 、 /tmp/a3
两种方式 
touch /tmp/a1  、 /tmp/a2 、 /tmp/a3
第二种方式 
touch /tmp/a{4..10}.txt


16.复制/date/下所有内容/tmp/下
cp 可选参数 你要复制的内容 复制之后的内容
cp -r /date/*  /tmp/


17.更改文件名first.txt为seond.txt 
mv 移动 重命名
mv 你要改的文件 更改之后的文件
mv first.txt seconfd.txt


18.把/opt/下所有内容移动到/tmp下
mv /opt/* /tmp


19.强制删除/tmp下所有内容
rm -rf /tmp/* 


20.查看ls命令的帮助信息
ls --help # 命令的简短帮助信息
man ls # ls命令的帮助手册
info ls # 同上


21.立即重启的命令
reboot  shutdonw -r now 
# 关机的命令
poweroff


22.如何永久设置linux环境变量
$PATH 代表linux的环境变量的名
echo $PATH #获取PATH变量的值

PATH="环境变量的路径" #执行一次,是临时生效
#永久生效还得修改linux的全局环境变量文件 /etc/profile
用vim打开/etc/profile写入 如下内容即可
PATH="新的环境变量"


23.linux的常见配置文件目录是
/etc/nginx.conf #web服务器配置文件
/etc/my.cnf #是mysql配置文件



24.vim三种模式是?使用流程是?
vim filname.txt 打开文件,此时进入了命令模式
在命令模式下,输入a (在光标后面开始编辑)i(在光标当前位置开始编辑) 0(在光标下一行开始编辑)
都可以进入编辑模式
在编辑模式习写完代码之后,按下键盘ESC,退出编辑模式
输入冒号,进入底线命令模式,输入:WQ! w write写入文件内容 q queit退出vim !强制性的
:wq! 强制写入文件内容且保存退出
:q! 不写入文件内容,直接强制退出



25.查看文件且显示行号
cat -n a.txt 


26.如何清空文件内容,注意是空内容,而非空格
利用重定向符号,输出重定向
>重定向覆盖输出符
>> 重定向追加输出符
> a.txt #完全清楚文件内容


27.显示文件前30行
head -n 30 a.txt 


28.显示文件后50行
tail -n 50 a.txt 


29.实时刷新文件内容
tail -f a.txt #tail是从文件结尾开始读取,f参数是刷新文件内容
# 常用在检测日志变化中


30.读取文件内容且倒序排序
cat
sort 


31.读取文件内容进行排序后去重
cat 查看文件内容
sort 对文件内容排序
uniq 对文件内容去重
[root@xuexi opt]# cat a.txt |sort -n |uniq 



32.读取文件内容且排序后,统计重复行的次数
[root@xuexi opt]# cat a.txt |sort -n |uniq -c


33.统计文件一共有多少行
wc -l a.txt 


34.如何查看文件的详细信息(inode号、访问、修改时间、连接数)
stat a.txt 
35.找出服务器上所有以".py"结尾的文件
find 你要从哪里找 -type 指定文件的类型(文件,文件夹) -name 你要找的文件叫什么
find / -type f name '*.py'


36.找出服务器2天内呗访问过的文件
-atime -2 #在两天内被访问过的文件
find / -maxdepth 4 -atime -2 -type f -name '*.txt '
37.找出服务器大于50M的文件
find / -maxdepth 3 -type f -size + 50 # 最大搜索深度是3层


38.找出/tmp/目录下所有的txt文件,然后删除
find . -type f -name "*.txt" -ok rm {} \;


39.把/date/html/文件夹打包压缩成dte_html.gz文件tar打包和压缩的命令
-c 打包
-x 解包
-v 显示过程
-f 指定文件名
cd /date/html 
tar -czvf data_html.tgz /data/html/


40.如何解压缩alltmp.gz文件
gzip -d alltmp.gz 


41.如何解压缩data.zip文件
unzip data.zip 


42.显示具体的系统时间,时:分:秒
date +%T


43.如何彻底粉碎文件
shred -u a.txt 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值