linux基本操作

    xiaoxiao2022-07-06  204

    linux基本操作:     命令格式: ls cd mkdir rm echo mv cat touch cp         命令名 [选项参数] [操作对象] 目录相关命令     ls      列出当前目录下的内容             一个终端打开之后,直接就会处于一个目录下             目录:文件夹         -a  浏览所有文件,包含隐藏文件             linux下以.开头的文件是隐藏文件             .   目录自身             ..  目录自身的上一层路径         -l  浏览文件的详细信息         -t  对浏览的文件进行按时间排序         -S  按时间排序         -r  逆序     pwd     显示当前所在路径(绝对路径)          绝对路径:以根目录为起始的路径(linux的目录结构就是以根目录起始的)         相对路径:以当前目录作为起始的路径     mkdir   创建文件夹         -p  递归多层级创建     rmdir   删除空目录         -p  递归多层级删除空目录     rm      删除普通文件         -r  删除目录(递归删除目录及内部文件)         -f  忽略提示信息,直接进行操作     cp      拷贝文件到指定位置             -r  拷贝目录(递归拷贝目录及内部文件)         -f  忽略提示信息,直接进行操作     mv      将文件/目录移动到指定位置         -i  增加提示信息     cd      进入指定目录(改变当前所在路径为另一位置)         ~   快速返回当前用户的家目录         -   返回上一次所在路径 文件相关命令     linux一切皆文件     文件类型:linux并不以文件后缀名区分文件类型         -   普通文件         d   目录文件         l   符号链接文件         p   管道文件         c   字符设备文件         b   块设备文件         s   套接字文件     touch   若文件不存在则创建新文件,否则刷新时间属性         -d  使用指定时间刷新文件的时间属性         -r  使用指定文件的时间属性刷新另一个文件时间属性     cat     打印文件内容到终端显示           -n  显示内容行号     tac     按行逆序打印文件内容     more    分页显示文件内容         空格  向下翻页         b     向上翻页         回车  向下按行滚动         q     退出     less    分页显示文件内容         向下翻页    空格 f PgDn         向上翻页    b   PgUp         向上滚动    ↑   k         向下滚动    ↓   j         字符串匹配功能:             /string     向下匹配string字符串             ?string     向上匹配string字符串                 n       找下一个匹配位置         q   退出     head    默认显示文件前10行内容         -n  用于指定显示文件前n行内容     tail    默认显示文件末尾10行内容         -n  用于指定显示文件末尾n行内容         -f  一直刷新文件末尾的新数据   日志 压缩/解压缩命令:     zip/unzip   zip格式的压缩/解压缩     gzip/gunzip gzip格式的压缩/解压缩     bzip2/bunzip2   bzip2格式的压缩/解压缩     tar     打包工具         -c  打包         -x  解包         -z  打包/解包同时进行gzip格式压缩/解压缩         -j  打包/解包同时进行bzip2格式压缩/解压缩         -v  显示详细些的打包/解包信息         -f  指定压缩包名称         tar -czvf abc.tar.gz abc.txt         tar -xzvf abc.tar.gz 时间日期命令:     cal     查看日历         -3  显示相邻三个月日历         -y  显示全年日历         -j  显示日期的时候以day of year的形式显示     date    查看系统当前日期时间         +   用于指定显示时间的格式             +"%Y-%m-%d %H:%M:%S"             +"%s"         -s  设置系统时间 匹配查找命令:     grep    文件内容的字符串匹配         -i  忽略大小写进行匹配         -v  反向匹配(匹配不包含指定字符串的行)         -R  递归对目录下所有文件进行字符串匹配     find    文件的查找         -name   按文件名查找         -type   按文件类型查找                 f d l s c b p         -size   按照文件大小查找                 +/-n[cbwkMG]         -mtime -ctime -atime                 +/-n    按天查找         -mmin   -cmin   -amin                     +/-n    按分钟查找         -exec   连接其它命令,对找到的文件进行处理             find ./ -size +5k -exec rm '{}' \;     tab     自动补全     ctrl+c  中断当前操作          reboot  重启     shutdown -h now 立即关机     halt    立即关机 其它命令:     man     查看手册命令     stat    查看文件的详细状态信息     链接数      |   管道符         连接两个命令,将前边命令的输出结果作为后边命令的输入     >>  重定向         改变数据流向,将数据追加到文件末尾     >   重定向         改变数据流向,先清空文件原有数据,然后写入新数据          调研根目录下的目录各自都有什么含义!!! shell:     命令行解释器(程序)     linux中有各种解释器:bash dash cash 权限:     用户分类:管理员用户(root); 普通用户     文件的权限:          文件对用户的分类         文件所有者       文件所属组       其它用户         u                   g               o     文件对操作的分类         可读              可写              可执行         r                   w               x     rwx rwx r-x          位图     111 111 101     7   7   5          564     所有者权限:可读可执行     所有者是可读可写,所属组是可读,其它用户没人任何     640      权限的相关命令:     umask       查看/设置权限掩码             作用:影响创建一个文件实际的默认权限     实际权限 = 给定权限 & (~umask)                     777         002                 653         022                 110 101 011                 111 101 101     chmod       修改文件的权限             o-w     针对某一类用户的权限进行增删             a+x             -x             0777    直接使用8进制数字权限设置     chown       修改文件所有者         chown username filename     chgrp       修改文件所属组         chgrp groupname filename       沾滞位:         若一个目录设置沾滞位,那么目录将具有特点:             其它用户都可以在目录中创建文件             其它用户可以删除自己的文件             但是其它用户不能删除别人的文件       useradd -m username      passwd username     userdel -r username 常用工具

    yum:软件包管理工具     软件安装方法:         1. 手动源码安装         2. 使用工具安装             工具自身可以解决软件包安装的依赖关系     yum常用操作:         查看             查看能够安装什么             yum list | grep package_name             查看已经安装了什么             yum list installed | grep package_name         安装             yum install package_name         移除             yum remove package_name          vim:编辑器         12种操作模式,但是常用的有三种         普通模式         插入模式         底行模式         模式切换             普通《=》插入:i a o I A O    ESC             普通《=》底行::       ESC         底行:             q w  wq  q!               set nu             !pwd             /string ?string         普通模式:             光标移动                 hjkl  ctrl+f/b w/b   gg G             复制                 yy   nyy             粘贴                 p   P             删除                 x dw D dd ndd             撤销                 u   ctrl+r             其它                 gg=G             /etc/vimrc         ~/.vimrc     gcc/g++:编译器         功能:将c/c++高级语言代码翻译成机器可识别代码         编译过程:             预处理:展开所有代码              编译:语法语义纠错,翻译成为汇编代码             汇编:将汇编代码翻译成二进制机器可识别指令             链接:链接库,将所有代码合到一起生成可执行程序         库文件:已经汇编完成的公共代码         链接:将库中的代码拿到要生成的可执行程序中         静态链接:链接静态库,将库中的代码直接全部拷贝到可                   可执行程序中,好处是程序运行时,不需要依                   赖库文件的存在;缺点是占用资源较多         动态链接:链接动态库,只是记录库中的接口符号位置信                   息,好处是资源占用冗余较小,缺点是程序运                   行时需要动态库的存在                   共享库/运行时库         gcc默认链接方式:动态链接     gdb:调试器         功能:调试一个程序的运行过程         linux下程序编译默认生成release版本程序,不带有调式         符号信息,意味着程序无法被调试         所以程序调试的前提就是编译生成debug版本程序,因此         gcc编译程序时需要加上-g选项,开启调试,向程序中添         加调试符号信息         1. gcc -g main.c -o main                  gdb调试程序,需要将程序信息,加载到gdb中         2.  gdb ./main                  gdb  进入gdb后   运行  file ./main命令                      开始调试:             运行程序加载运行参数             r param1 param2 ...         start   开始逐步调试         n       下一步;并不跟踪进入函数         s       下一步;跟踪进入函数         p var   查看变量数据         l line  查看指定行(默认当前调试行)附近代码         until line  直接运行到指定行                  b line  向当前调式文件指定行添加断点         b file:line 向指定文件指定行添加断点         b func  向函数添加断点         watch var   变量监控,给变量添加断点,当变量                     内容发生改变,停止         i b     查看所有断点信息         d id    删除指定断点,默认删除所有         c       继续运行                  bt      查看函数调用栈信息     make/Makefile:项目自动化构建工具         Makefile:定义编译规则的普通文件         make:是一个解释程序,解释执行Makefile中定义的               编译规则         执行make命令,这时候make程序会到当前目录下寻找         Makefile文件,解释其中的编译规则                  如何编写Makefile;编写规则:                      通过目标对象与依赖对象最后一次修改时间,判断目         标对象是否需要重新生成                  make在Makefile中只找第一个目标对象,为了生成这个目         标对象,而执行命令,完毕之后直接退出(后边的对象都         不会在生成了)                  make在Makefile中找到第一个对象,这时候如果这个对象         的依赖对象不存在,则在后续编译规则中,寻找是否可以         生成这个依赖对象,当所有依赖对象生成完毕后,最终生         成目标对象                  预定义变量         $@  要生成的目标对象         $^  所有的依赖对象         $<  依赖对象中的第一个                  .PHONY关键字用于声明伪对象         伪对象:不管对象是否是最新,每次都要重新生成     git:项目版本管理工具             svn:集成式版本管理         git:分布式版本管理         三板斧:             克隆代码到本地                 git clone git地址             添加本地文件                 git add 新文件             提交代码到本地仓库                 git commit -m "本次提交备注信息"             提交本地代码到服务器分支                 git push origin master                 master 是git项目版本主分支

    最新回复(0)