linux学习笔记

简介: 笔记

用户


whoami:可以查看当前登录的用户

chmod :u[表示用户],g表示同组用户,o表示其他用户,a是所有用户

           比如给所有者加一个执行权限 chmod u+x hello.py

           删除一个权限:chmod u-x hello.py

           数字法:421


chmon:更改所有者  sudo wanghu hello.py


adduer 用户名:添加用户


文件操作


ls -l可以显示目录下文件信息:


       -rw-rw-r--  第一位是文件类型,rw-三位是所有者的权限,后面的rw-三位是同组用户的权限,最后面的r--是其他人的权限


linux系统文件类型:

   普通文件:-

   目录文件:d

   字符设备文件:c

   块设备文件:b

   软连接:l

   管道文件:p

   套接字:s



rmdir:删除空目录【非空不能删】



非空删除:rm -r[r是递归的意思]



rm -f[强制删除]



cp:拷贝文件

   cp -a 是将要拷贝文件和该文件下所有文件都进行拷贝【连权限都一块拷贝】



cat可以查看文件内容,比如cat hello.py可以看到py文件中的代码内容



tac是可以将文件内容倒着显示



more可以分屏显示,按空格翻页,回车是一行,退出用q



wc指令:计算文件的Betye数、字节数、或是列数、-c是统计Betye,-l是统计行


du:查看某个目录的大小(单位是M)


df:查看磁盘使用 --block-size=GB


查找

find:find 路径 文件名,查找某一类型文件 find 路径 type '文件类型'


       find mylinuxfile/ -name '*.py'


       find ./ -maxdepth 2 -name '*.py'  【maxdeptyh是搜索的深度】


       find ./ -maxdepth 3 -size +2M -size -50M 【寻找文件大小在2~50M之内的文件】


find mylinuxfile/ -name 'hello*' -exec python3 {} \;

【{}是集合的意思,将查找到的hello打头的文件放入这个集合后,对集合内部进行python3操作,注意: {} \;两个符号之间有空格】


xargs也是执行命令,但比exec要好,会分片处理信息


find ./ maxdeth 2 -name hello.py | xargs python3;
find ./ -maxdeth 1 -type f -ok rm -r {} \; 用-ok在删除的时候会询问一下

grep:find是查找文件,grep是查找内容


grep "内容" 目录  -n[行号]


grep "张三" -r ./mylinuxfile/


./mylinuxfile/test.txt:张三


软硬连接


软连接:通过名字引用另外一个文件,想象成是windos系统下的快捷方式,可以快速访问目标文件。

ln -s 文件 文件名  ln -s hellow.py hellow.s

硬连接:硬链接是通过inode引用另外一个文件ln  hellow.py hellow.h ,修改任意一个文件,另一个文件也会发生变化


进程管理


ps:监控后台进程工作情况


单独输入ps命令,只会显示和当前用户交互的进程


如果想显示不和当前用户交互的进程,输入:ps aux【a是all,u是user,x显示没有控制终端的进程】


ps aux | grep "yinyipe+"


安装包管理


apt-get  


更新软件列表:apt-get update


apt-get install 软件名


卸载:apt-get remove 软件名


安装deb文件:sudo dpkg  -i xxx.deb


压缩包


tar

tar -zcvf 要生成的压缩包名字 压缩材料

tar -zcvf myfile.tar.gz myfile

z指的就是giz命令,c是创建,v是显示压缩过程,f是文件名


gzip 文件名(压缩成gz格式),解压gunzip 文件名.gz


解压:tar -zxvf 压缩文件


rar

rar a -r newdir[生成压缩包的包名] dir[要压缩的东西]


解压unrar x newdir.rar


zip

zip -r dir.zip dir
unzip dir.zip


vim


命令模式

命令直接退出ZZ


编辑i


光标的移动:


   h:左


   j:下


   k:上


   l:右


跳转指定行:


   行+G


跳转文件首: gg


跳转文件尾:G


自动格式化程序:gg=G


如果代码比较长,不知道一个大括号的右括号在哪,可以选中左括号,然后按%


删除

删除单个字符:用x,而且还在命令模式,不会变成文本模式


一次性删除一个单词,dw,前提光标致于单词的首字母位置


删除光标至行尾:D


光标移动到行首:0


移动到行尾:$


替换某个字符,光标放在该字符上,按一下r再按其他字符


进入可视模式:按v


删除光标所在行:dd


复制

复制yy


粘贴:p


文本模式

文本到命令就是ESC


末行模式

末行就是在命令模式下输入冒号":",w是保存,q是退出


gcc编译


步骤:


   1.预处理


   展开宏,头文件,替换条件编译,删除注释、空白行等


gcc -E hello.c -o hello.i

   2.编译


检查语法规范


gcc -S hello.c -o hello.s

   3.汇编


将汇编指令翻译成机器语言


gcc -c hello.s -o hello.o

   4.链接


生成a.out文件


如果头文件不在一个文件内,比如自己写了一个hello.h放在include目录下,上级目录有一个hello.c文件


gcc -I ./include hello.c -o hello

执行  ./hello


shell常用通配符


1.png2.png

目录
相关文章
|
3月前
|
缓存 网络协议 Linux
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
Linux C/C++ 开发(学习笔记十三):百万并发的服务器实现
54 0
|
3月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
Linux C/C++ 开发(学习笔记十二 ):TCP服务器(并发网络编程io多路复用epoll)
57 0
|
3月前
|
网络协议 Linux C++
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
39 0
|
2月前
|
缓存 Unix Linux
Linux学习笔记
Linux学习笔记
254 0
|
3月前
|
缓存 监控 Linux
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
Linux 学习笔记十九:常见监控工具
|
3月前
|
安全 Linux 数据安全/隐私保护
Linux 学习笔记十八:SELinux 相关概念
Linux 学习笔记十八:SELinux 相关概念
|
3月前
|
Linux 开发工具 索引
Linux 学习笔记索引
Linux 学习笔记索引
|
3月前
|
小程序 Linux 数据安全/隐私保护
Linux学习笔记十六:日志管理
Linux学习笔记十六:日志管理
|
3月前
|
存储 Linux 数据库
Linux学习笔记十三: 数据备份与恢复
Linux学习笔记十三: 数据备份与恢复
|
3月前
|
监控 Linux
Linux学习笔记十二:Linux 工作管理
Linux学习笔记十二:Linux 工作管理
Linux学习笔记十二:Linux 工作管理