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 软件包

Linux指令学习的更多相关文章

  1. Linux man 用法小结(Linux指令学习笔记)

    今天买了一本<<Linux命令行与shell脚本编程大全>>,想利用暑假放假的时间系统的学习一下 Linux的shell脚本.今天看了一下书,才发现我之前学习,把Linux s ...

  2. linux指令学习笔记(一)

    1. 查看目录下有什么文件/目录    > ls            //list列出目录的文件信息    > ls  -l 或ll   //list -list以“详细信息”查看目录文 ...

  3. Linux mkisofs 创建光盘镜像文件(Linux指令学习笔记)

    mkisofs命令 创建光盘文件的系统的命令是mkisofs.光盘系统有多种格式,利用Linux系统提供的光盘文件系统创建 命令mkisofs,可以创建多种iso9660文件系统. 我们一般不用mki ...

  4. Linux 我的第一个makefile(Linux指令学习笔记)

    我的第一个makefile 最近学到了makefile的文件的编写.makefile是一个能达到方便编译链接生成目标程序的文件, make确实很方便,在写makefile的过程也能更好的理解gcc编译 ...

  5. Linux 指令学习

    查询java安装地址 which java ls -lrt /bin/java ls -lrt /etc/alternatives/java # 如果已经配好,则echo $JAVA_HOME 更改环 ...

  6. 【Linux】指令学习

    Linux学习记录 生命不息,写作不止 一个有梦有戏的人 @怒放吧德德 分享学习心得,欢迎指正,大家一起学习成长! 1.虚拟机网卡配置 服务器重启完成之后,我们可以通过linux的指令 ip addr ...

  7. Linux LVM学习总结——扩展卷组VG

    Linux服务器由于应用变更或需求的缘故,有可能出现分区空间不足的情况,此时往往需要进行扩容(要增加分区的空间),而采用LVM的好处就是可以在不需停机的情况下可以方便地调整各个分区大小.如下所示,分区 ...

  8. Linux 指令。

    从16年11月21号开始吧,加班变得特别频繁,基本上一周加5天,周六也会加,下班也很晚,一般都是10点9点,回家之后很疲惫,已经很久没有给自己充过电了,自己的学习计划和健身计划也打乱了,对工作的压力也 ...

  9. 别出心裁的Linux系统调用学习法

    别出心裁的Linux系统调用学习法 操作系统与系统调用 操作系统(Operating System,简称OS)是计算机中最重要的系统软件,是这样的一组系统程序的集成:这些系统程序在用户对计算机的使用中 ...

随机推荐

  1. 用MVVM模式开发中遇到的零散问题总结(5)——将动态加载的可视元素保存为图片的控件,Binding刷新的时机

    原文:用MVVM模式开发中遇到的零散问题总结(5)--将动态加载的可视元素保存为图片的控件,Binding刷新的时机 在项目开发中经常会遇到这样一种情况,就是需要将用户填写的信息排版到一张表单中,供打 ...

  2. 零元学Expression Blend 4 - Chapter 39 虾米?!同款?不同师傅!告诉你Visible、Hidden与Collapsed的差异!

    原文:零元学Expression Blend 4 - Chapter 39 虾米?!同款?不同师傅!告诉你Visible.Hidden与Collapsed的差异! 由此可知 Hidden为隐藏项目,但 ...

  3. 零元学Expression Blend 4 - Chapter 14 用实例了解布局容器系列-「Pathlistbox」II

    原文:零元学Expression Blend 4 - Chapter 14 用实例了解布局容器系列-「Pathlistbox」II 本章将延续上一章的范例,步骤解析. 本章将延续上一章的范例,步骤解析 ...

  4. Unicode对象

    什么是Unicode对象呢? 你可以认为unicode对象就是一个Python字符串,它可以处理上百万不同类别的字符——从古老版本的Latin字符到非Latin字符,再到曲折的引用和艰涩的符号. 普通 ...

  5. Ubuntu下使用Docker搭建MySQL步骤备忘

    docker 安装和 pull MySQL镜像这里就不介绍了,很多介绍,建议去docker官方网站查看. 本文主要介绍MySQL container 运行起来之后的一些配置 在往下看之前,确保 doc ...

  6. mouseover和mouseout事件引发的BUG-解决方法

    mouseover和mouseout引发的BUG原由 当给一个元素添加mouseover或mouseout事件,这个元素还有子元素. 由于子元素的事件冒泡,鼠标移入或移出子元素都会触发事件. 解决的方 ...

  7. Ajax中post与get的区别

    get和post都是向服务器发送一种请求,只是发送机制不同 . 1. GET可以通过在请求URL上添加请求参数, 而POST请求则是作为HTTP消息的实体内容发送给WEB服务器. 2. get方式请求 ...

  8. 【转】子弹短信内部技术分享:Redis

    原理 Redis 是一个内存型「数据库」,除存储之外,它还有许多强大的命令,使之远远超出了数据库的定义,所以官方称之为「data structure store」,数据结构存储系统. 通过 Redis ...

  9. 9个WebGL的演示

    1.  WebGL Water This incredible demo is as fluid as you could believe.  Raise and drop the ball into ...

  10. vuex分模块2

    深入理解Vuex 模块化(module) 转载  2017-09-26   作者:ClassName    我要评论 本篇文章主要介绍了Vuex 模块化(module),小编觉得挺不错的,现在分享给大 ...