zoukankan      html  css  js  c++  java
  • Linux指令学习

    Linux命令格式:命令名  选项  参数

      Linux 刚面世时并没有图形界面,所有的操作全靠命令完成,如 磁盘操作、文件存取、目录操作、进程管理、文件权限 设定等,在职场中,大量的服务器维护工作都是在远程通过SSH 客户端来完成的,并没有图形界面,所有的维护工作,都需要通过命令来完成,在职场中,作为后端程序员,必须要或多或少的掌握一些 Linux 常用的终端命令,Linux 发行版本的命令大概有 200 多个,但是常用的命令只有 10 多个而已。

    文件及目录操作

    linux下,我们是看不到硬件盘符的,我们只能看到文件夹(目录)

    linux主要目录速查表

     / :根目录,Ubuntu只有一个根目录,所有文件都在它下面

    /home/user:用户工作目录或者家目录。

    /bin、/usr/bin:可执行二进制文件的目录

    /boot:放置 linux 系统启动时用到的一些文件,如 linux 的内核文件:/boot/vmlinuz;系统引导管理器:/boot/grub

    /dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt

    /etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有

    /home:系统默认的用户家目录,新增用户账号

    • ~ 表示当前用户的家目录
    • ~edu 表示用户 edu 的家目录

    /root:系统管理员root的家目录

    /tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下

    /srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内

    /usr:应用程序存放目录

    • /usr/bin:存放应用程序
    • /usr/share:存放共享数据
    • /usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件
    • /usr/local:存放软件升级包
    • /usr/share/doc:系统说明文件存放目录
    • /usr/share/man:程序说明文件存放目录

    /var:放置系统执行过程中经常变化的文件

    • /var/log:随时更改的日志文件
    • /var/spool/mail:邮件存放的目录
    • /var/run:程序或服务启动后,其 PID 存放在该目录下

    小技巧

    • ctrl + shift + = 放大终端窗口的字体显示
    • ctrl + - 缩小终端窗口的字体显示
    • 自动补全:在敲出 文件/目录/命令 的前几个字母之后,按下tab键,如果输入的没有歧义,系统会自动补全
    • 按 上 / 下 光标键可以在曾经使用过的命令之间来回切换
    • 如果想退出,并且不想执行当前选中的命令,可以按 ctrl+ c

    目录文件操作

    查看当前目录:pwd

    显示目录内容:ls

    • 作用:ls命令用来查看当前文件夹的文件和子目录
    • 参数: 
      • ls -l 以列表方式显示文件的详细信息
      • ls -a 显示全部(包括隐藏文件)
      • ls -t 按照修改时间排序
      • ls -l -h 配合-l以人性化的方式显示文件大小

    ls -l        执行结果:

    说明:执行结果从左到右含义分别为:文件权限、连接数或子目录数、文件拥有者、文件所在组、文件大小、最后修改时间、文件名称

    切换目录:cd 目录

    符号 含义
    cd 切换到当前用户的主目录(/home/用户目录)
    cd ~ 切换到当前用户的主目录(/home/用户目录)
    cd . 当前目录
    cd .. 上级目录
    cd - 上一次所在目录

    相对路径和绝对路径

    • 相对路径 在输入路径时,最前面不是 / 或者 ~,表示相对 当前目录 所在的目录位置
    • 绝对路径 在输入路径时,最前面是 / 或者 ~,表示从 根目录/家目录 开始的具体目录位置

    创建目录:mkdir 目录

    • 参数:mkdir -p 如果父目录不存在,同时创建父目录

    文件操作

    创建空文件:touch

      例如:touch test.txt temp.p

    向文件写入内容:echo

      格式:echo>文件名

      例如:echo 'abc' > test1.txt (将abc字符串写入test1.txt,会覆盖原来的内容;如果不想覆盖原来的内容,使用两个大于符号>>)

    查看文件内容:cat 文件名

    以树状图的形式查看目录文件结构:tree [目录名]

    查看文件前几行:head -n 行数 文件名

    • 搜索文件名包含1的文件     find -name "*1*"
    • 搜索所有以.txt为扩展名的文件 find -name "*.txt"
    • 搜索以数字1开头的文件     find -name "1*"

    查看文件最后几行:tail -n 行数 文件名

    文件查找:find 查找路径 -name 文件名/目录名

    文件复制:cp 原文件 新文件

    文件移动:mv 原文件名 新文件名

    文件删除:rm [选项] 文件名|目录名

    • 选项
      • -f 强制删除(慎用!)
      • -i 互动模式,在删除前询问
      • -r 递归删除目录下的内容,删除文件夹时必须的加此参数

    打包压缩

    windows常用rar,Mac常用zip,Linux常用tar.gz。linux中常使用tar命令进行打包、压缩、解压操作,gz后缀名表示进行了压缩,tar后缀名表示进行了打包,加后缀名是为了清晰、易于理解,而不是必须的。

    打包/解包

    # 打包文件
    tar -cvf 打包文件.tar 被打包的文件/路径...
    # 解包文件
    tar -xvf 打包文件.tar

    参数:

    • c 创建打包文件
    • x 解开打包文件
    • v 列出详细过程,显示进度
    • f 执行打包的文件名称,f后面一定是.tar文件,所以必须放在选项后面

    压缩与解压

    1、gzip

    tar与gzip命令结合可以实现文件 打包和压缩

    • tar只负责打包文件,但不压缩,
    • 用gzip压缩tar打包后的文件,其扩展名一般用xxx.tar.gz

    压缩:tar -zcvf 压缩包名字.tar.gz 文件1 文件2 目录3

    • 参数:
      • z 使用gzip方式压缩
      • c 创建包 create
      • v 显示操作文件的细节,显示进度
      • f 要操作的文件名,f后面一定是.tar文件,所以必须放在选项后面

    解压:tar -zxvf 压缩包名字.tar.gz

    • 参数:
      • z 使用gzip方式压缩
      • c 创建包 create
      • v 显示操作文件的细节
      • f 要操作的文件名 file

    解压文件到指定路径:tar -zxvf 打包文件.tar.gz -C 目标路径

      解压缩到指定目录,注意:要解压缩的目录必须存在

    2、bzip2(two)

    tar与bzip2命令结合可以实现文件打包和压缩,tar只负责打包文件,但不压缩。用bzip2压缩tar打包后的文件,其扩展名用xxx.tar.bz2

    在tar命令中有一个选项-j可以调用bzip2,从而可以实现实现压缩和解压缩的功能

    • 压缩的文件:tar -jcvf 打包文件.tar.bz2 被压缩的文件    
    • 解压缩文件:tar -jxvf 打包文件.tar.bz2   

    网络操作

    查看本机网络地址:ifconfig

    测试网络连通性:ping [对方主机地址]

    文件权限管理

    三个权限参数:读 写 执行

    • 参数:r可读,w可写,x可执行,-什么都不行

    在rwx三个权限中,从右至左依次用值4、2、1来表示,所以拥有某个文件的读、写、执行权限也可以用三个权限值累加的方式来表示,如下表所示:

    权限 含义 对应值
    rwx 可读、可写、可执行 4+2+1=7
    rw- 可读、可写、不可执行 4+2+0=6
    r-x 可读、不可写、可执行 4+0+1=5
    r-- 可读、不可写、不可执行 4+0+0=4
    -wx 不可读、可写、可执行 0+2+1=3
    -w- 不可读、可写、不可执行 0+2+0=2
    --x 不可读、不可写、可执行 0+0+1=1
    --- 不可读、不可写、不可执行 0+0+0=0

    修改文件权重:chmod {权限值} {文件/目录名}

    • 例如:给文件test1.txt添加可执行权限 chmod +x test.txt
    • 例如:设置文件,拥有者有读、写、执行权限,其他用户没有访问权限 chmod 700 test1.txt

    通配符

    通配符 含义
    * 代表任意个数字符
    代表任意一个字符,至少1个
    [] 表示可以匹配字符组中的任意一个
    [abc] 匹配a、b、c中的任意一个
    [a-f] 匹配从a到f范围内的任意一个字符

    远程管理常用命令

    关机/重启shutdown 选项 时间

    • shutdown now 现在就关闭电脑
    • shutdown 20:10 时间20:10分关闭电脑
    • shotdown -r +10 十分钟后重启电脑
    • shotdown -c 取消之前指定的关机计划
    • -r 重新启动
    • 不设置选项和参数:默认1分钟后 关闭电脑

    查看或匹配网卡信息

    • ifconfig   :查看/配置计算机当前的网卡配置信息
    • ping ip地址 :检查目标 ip地址 的连接是否正常,数值越大,速度越慢

    远程登录和复制文件

    • 关机/重新启动   ssh 用户名@ip
    • 远程复制文件:  scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径

    软件安装

    通过apt安装/卸载软件

    安装软件:sudo apt install 软件包

    卸载软件:sudo apt remove 软件包

    更新软件:sudo apt upgrade 软件包

  • 相关阅读:
    STL中的string
    STL中的map
    STL中的set和multiset
    C++基础知识
    希尔排序
    桶排序
    归并排序
    堆排序
    数组左边奇数右边偶数算法O(n)
    背包问题 洛谷P1164 小A点菜
  • 原文地址:https://www.cnblogs.com/LXP-Never/p/11141529.html
Copyright © 2011-2022 走看看