Linux学习笔记

一、帮助命令

1.whatis

whatis grep # 简要说明grep命令的作用(显示命令所处的man分类页面)
whatis -w "gre*" #通过正则表达式匹配命令

2.info

info grep # grep命令的文档说明

3.whereis / which

# 查看命令路径
whereis grep
which grep

4.man

在man的帮助手册中,将帮助文档分为了9个类别,对于有的关键字可能存在多个类别中, 我们就需要指定特定的类别来查看;(一般我们查询bash命令,归类在1类中);man页面所属的分类标识(常用的是分类1和分类3):

(1)、用户可以操作的命令或者是可执行文件
(2)、系统核心可调用的函数与工具等
(3)、一些常用的函数与数据库
(4)、设备文件的说明
(5)、设置文件或者某些文件的格式
(6)、游戏
(7)、惯例与协议等。例如Linux标准文件系统、网络协议、ASCⅡ,码等说明内容
(8)、系统管理员可用的管理条令
(9)、与内核有关的文件

man -k keyword # 用于只记得命令部分关键字的情况的查询
man grep # 用于查询grep命令的详细用法

在这里插入图片描述

总结:
whatis info which whereis man

二、文件及目录管理

1.创建和删除

mkdir newDir # 创建目录
rm -r newDir # 删除目录,目录需要使用-r递归删除目录里的所有文件
rm newfile # 删除文件
cp -r Dir1 Dir2 # 复制目录
cp newfile newDir # 复制newfile文件到newDir目录
mv newfile newDir # 移动newfile文件到newDir目录
mv oldfilename newfilename #修改文件名,相当于移动覆盖
torch a.txt #创建一个空文本文件
vim filename.txt #使用vim打开一个文本文件,如果不存在则创建

关于vim的一些简单操作:

  • 在浏览模式下按i进入插入编辑模式
  • 按ESC进入退出模式,之后在下方退出编辑框中输入
    :wq 表示保存并退出
    :w 只写入
    :q! 强制退出

2.目录切换

在Linux中.代表本层目录,..代表上层目录

cd - #返回上一个工作目录
cd  #返回home目录
cd ~ #返回home目录
cd path #切换到path目录
cd .. #返回上一层目录

3.列出目录项

ls  #列出当前目录下的目录和文件
ls -a #列出包括.和..在内的当前目录下的文件和目录
ls -all #列出文件的详细信息
ls -l #列出文件详细信息,不包括.和..
ls |cat -n #列出文件和目录,并编号

关于文件的详细信息分别对应:
文件类型与权限 链接数 文件主 文件大小 创建或最近修改的时间 文件名
在这里插入图片描述

1.第一个字段中第一个字符表示文件类型,所用字符含义如下:
-:普通文件
d:目录
b:快文件
c:字符设备文件
l:符号链接文件
s:套接字文件(socket)
p:命名管道文件(pipe)
2.第一个字段的后9个字符表示文件的存取权限,各权限字符表示如下:
9个字符分别分为三组所属权限,分别是:user,group,other
r:读
w:写
x:执行。对于目录,表示可以访问该目录。
-:表示没有设置权限。

4.查找目录及文件

find ./ -name "*.c" #从当前目录递归查找符合正则表达式的文件
find ./ -name "mydir" -exec rm -r {} \; #查找mydir目录并删除

find是实时查找,如果需要更快的查询,可试试locate;locate会为文件系统建立索引数据库,如果有文件更新,需要定期执行更新命令来更新索引库:

locate "*.c"

5.查看文件内容

cat cphello.c -n #查看cphello.c文件内容,-n表示给每一行编号
more cphello.c #分页查看cphello.c文件
ls -al | more #ls将文件详细信息展示出来,| more表示把内容分页展示
head -5 cphello.c #展示前5行内容
tail -5 cphello.c #展示后5行内容
diff file1 file2 #展示两个文件不同的地方
tail -f crawler.log #动态展示最新的日志信息

6. 查找文件内容

egrep相当于grep -E

egrep "[a-z]+[1-9]*" data1.txt data2.txt # 匹配data1.text和data2.text中符合正则的行
-n:输出匹配行的行号;
-c:只输出匹配的行数;
-o:只输出匹配模式的内容;
-v:反向匹配;
-l:输出包括匹配行的文件;
-L:输出不包括匹配行的文件;
-i:忽略大小写;
-e:指定多个模式;
-r:递归搜索目录下的文件;
--exclude-dir:搜索时排除指定的目录;
--exclude:搜索时排除指定的文件;
--include:搜索时只查找指定的文件;
-f:从文件中读取模式,一行一个模式;

7. 文件与目录权限修改

chmod a+x data1.txt # 给data1.txt文件所有用户添加执行权限
+:添加
-:取消
a:所有用户
u:当前用户
g:组用户
other:其他用户

8.创建符号链接/硬链接

连接的作用类似创建文件别名,可以通过链接直接访问原文件。
软链接/符号链接:相当于windows创建了一个原文件的快捷方式。软链接本质上是一个文本文件,包含原文件的位置。从系统角度来看它们是两个文件,软链接和原文件iNode值不同。当原文件被删或者移动后,软链接失效。

#创建a.text的符号链接,a_link.text被标识为索引文件;a.text索引数未增加
ln -s a.text a_sln.text 

硬链接:在 Linux 的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。硬链接文件和原文件的索引节点号相同,都指向了同一个文件。删除任何一个连接对另外的链接都不影响。当某文件的索引数为零时,文件才会被真正删除。

#创建a.text的硬链接,a_ln.text和原文件一样被标识为普通文件;a.txt索引数增加
ln a.text a_ln.text 

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

不同点:
1.硬链接不可以对目录进行创建,软链接可以
2.硬链接不可以跨区跨设备进行创建,软链接可以
3.硬链接删除原文件对连接文件无影响;软链接删除原文件,链接失效。

效果展示:
在这里插入图片描述

9.管道和重定向

  • |:批处理命令连接执行
  • ;:串联
  • &&:前面成功,则执行后面一条,否则,不执行
  • ||:前面失败,则后一条执行;前面成功,后面不执行
# 列出/proc下的文件成功则打印suss!否则打印failed
ls /proc && echo  suss! || echo failed 
# 上述代码也等效于串联代码
if ls /proc; then echo suss; else echo fail; fi
# 重定向
ls  /proc >list #将列表内容重定向到list文件中
:> list #情况list文件
echo aaa >> list #将aaa重定向到list中

10.综合应用

# 先读取a.text文件
# 对读取的文件进行查找包含AAA的部分
# 对读取的文件进行查找不包含BBB的部分
# 对这部分统计行数
cat a.text|grep AAA|grep -v BBB|wc -l

三、磁盘管理

1.查看磁盘空间

df -h #df(disk free)查看磁盘空间,-h是human缩写,比较人性化方式展示

在这里插入图片描述

du -h #du(disk used)对文件和目录磁盘使用的空间的查看
du -sh path #查看路径下文件总大小
du -h * #产看当前目录下所有文件大小
du -sh `ls` | sort #将ls列出的路径文件大小排序展出

在这里插入图片描述

2.文件打包(非压缩)/解包

# 将所有.jpg文件打包到all.tar中,-c产生新的包,-v显示过程,-f指定包的文件名
tar -cf all.tar *.jpg 
-r #新增文件
-u #更新原来包里的某个文件
-f #将包里新增一个文件
tar -tf all.tar #列出包里的文件-t表示列出
tar -xf all.tar #解出包里的文件

3.文件压缩/解压

gzip demo.txt #压缩demo.txt,生成demo.txt.gz
gunzip demo.txt.gz #解压出demo.txt

四、进程管理

ps -ef #查询正在运行的进程
ps -ef | grep 关键字 #查找存在某关键字的运行进程
ps -u root #查询某用户进程
ps -ajx #完整展示所有的进行信息
top #实时更新进程的运行情况
kill PID#终止进程好为pid的进程

五、C程序编译

gcc -o demo demo.c #编译demo.c,生成demo可执行文件
exec ./demo #执行demo程序
./demo #也可以直接运行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值