前言:
linux基本原则
用户接口
命令形式
ls 部分说明
文件系统
查看服务器基本信息
文件查看和处理命令
目录基本操作命令
vim操作

Linux的基本原则:

  • 由目的单一的小程序组成;组合小程序完成复杂任务
  • 一切皆文件
  • 尽量避免捕获用户接口(尽量不和用户进行交互,就是一个程序一但开始运行,就不需要用户进行任何操作,如ls命令,ifconfig命令)
  • 配置文件保存为纯文本格式

用户接口:

是一种独特的应用程序,能够为用户提供启动其他应用程序的机制

  • CLI:命令提示符
    shell:sh,csh,ksh,bash,zsh,tcsh

  • GUI: 图形界面
    GNOME:C语言
    KDE:C++
    XFCE:轻量级

  • 终端类型:tty命令可以查看
    虚拟终端(tty1-6) /dev/tty# #号为数字号码
    伪终端(ssh、Telnet连接称为伪终端或者在图形界面下打开的终端) eg:/dev/pts/#
    物理终端(console) /dev/console
    串行终端(使用特定速率向外打印字符,通过串行接口连接)eg:/dev/ttyS#
    图形终端:可以使用startx命令启动 startx -- :2可以启动第二个图形终端


命令形式

命令格式:命令 选项 参数

命令 分为内部命令和外部命令
内部命令:是系统shell自带的命令
外部命令:是安装其他的程序产生的命令

可以通过帮助的方式,查看命令的类型eg:
# type cd


ls 部分说明

ls -l:长格式
长格式查看结果;如下

# ls -l aa.txt
-rw-r--r-- 1 root root 0 1月 30 09:16 aa.txt

下面解释长格式输出结果的含义
<文件类型><文件权限><硬链接次数><属主><属组><文件大小><月><日><时:分><文件名>

  • 文件类型
    -:普通文件
    d: 目录文件
    b: 块设备文件 (block)就是存储数据以供系统存取的接口设备,简单而言就是硬盘
    c: 字符设备文件 (character)即串行端口的接口设备,例如键盘、鼠标等等
    l: 符号链接文件(symbolic link file)
    p: 命令管道文件(pipe)是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误
    s: 套接字文件(socket)这类文件通常用在网络数据连接

  • 文件权限
    9位,每3位一组,rwx(读,写,执行) (4 2 1)


文件系统

  • FHS: filesystem hierarchy standard 文件系统层级标准
  • rootfs(): 根文件系统 /
  • /boot: 系统启动相关的静态文件,如内核、initrd或者initramfs,以及grub(bootloader)
  • /dev: 所有设备的设备文件,设备文件也称为特殊文件(仅有元数据,没有数据,是设备的入口)

设备文件:
块设备:随机访问,数据块
字符设备:线性访问,按字符为单位
设备号:主设备号(major)和次设备号(minor) 主设备号相同的设备是同类设备(使用同一个驱动程序)
通过 cat /proc/devices 命令查看当前已经加载的设备驱动程序的主设备号
例如:ls -l /dev/sr0
brw-rw---- 1 root cdrom 11, 0 4月 1 08:59 /dev/sr0 11为主设备号,0为次设备号

  • /etc:配置文件
  • /home:普通用户的家目录,每一个用户的家目录通常默认为/home/USERNAME
  • /root:管理员的家目录
  • /lib:基本的共享库和内核模块

库文件 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行
静态库, .a 静态库的代码在编译过程中已经被载入可执行程序,因此体积较大
动态库, .dll, .so (shared object) 共享库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小

  • /lib/modules:内核模块文件
  • /media:为了移动设备的挂载点目录,例如光盘、U盘
  • /mnt:挂载点目录,额外的临时文件系统
  • /opt:可选目录,第三方程序的安装目录
  • /proc:内核及进程信息的虚拟文件系统,伪文件系统,内核映射文件,只存在内存中,它以文件系统的方式为访问系统内核数据的操作提供接口
  • /sys:伪文件系统,硬件设备信息虚拟文件系统接口,跟硬件设备相关的属性映射文件,该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备
  • /tmp:临时文件, /var/tmp
  • /var:可变化的文件(内容发生变化)/var/log 日志信息
  • /var/log 日志信息
  • /bin: 基础的用户命令二进制程序, 为所有用户使用
  • /sbin:系统二进制程序,一般为管理命令
  • /bin和/sbin 系统自身启动和运行时可能会用到的核心二进制命令
  • /usr:shared, read-only (Unix System Resource,即Unix系统资源的缩写),不适合放在/bin或/etc目录下的额外的工具
  • /usr/bin 大多数用户使用到的命令
  • /usr/sbin 非核心的系统命令
  • /usr/bin和/usr/sbin 系统运行时,用户为完成某种操作可能用到的命令
  • /usr/lib
  • /usr/local:主要存放那些手动安装的软件

/usr/local/bin
/usr/local/sbin
/usr/local/lib

  • /usr/share/man /usr/share/doc 帮助文件应用程序的组成部分

二进制文件、库文件、配置文件、帮助文件

  • 路径:

绝对路径:凡是以“/”开头的输入路径的方式都是绝对路径
相对路径:凡是以“.”或者“…”开头的都是相对路径
每个绝对路径都可以切割成2部分:
基名: basename /tmp/111/222/three 输出结果为three
目录名: dirname /path/111/222/three 输出结果为/tmp/111/222

# mkdir -p /tmp/111/222
# touch /tmp/111/222/three
# basename /tmp/111/222/three
three
# dirname /tmp/111/222/three
/tmp/111/222

查看服务器基本信息:

常用命令

命令 解释
cat /proc/cpuinfo 查看cpu信息
cat /proc/meminfo 查看内存信息
free 查看内存使用情况
uptime 监控CPU情况
cat /etc/redhat- release 查看发行版信息
hostname 查看主机名
ip addr 查看ip信息
ifconfig 查看ip信息
netstat 查看网络连接信息、路由表等,常用来查看端口打开情况
fdisk -l 查看硬盘信息
df 查看设备挂载信息

其它常用命令

文件查看和处理命令:
  • touch 创建文件

  • echo 将用户输入的内容,显示在屏幕上。
    通常结合着“>”重定向符号, 用来在文本文件中,添加数据,“>>” 表示追加。

  • cat 用来显示文件的内容

  • tac 倒序查看文件内容

  • more 显示文件内容,每次显示一屏

按Space键:显示文本的下一屏内容
按Enter键:只显示文本的下一行内容
按h键:显示帮助
按b键:显示上一屏内容
按q键:退出命令

  • less 分屏上下翻页浏览文件内容

用PageUp键向上翻页
用PageDown键向下翻页
head 显示文件开头,默认开始10行
tail 显示文件结尾,默认结尾10行
-f 监控某个文件变化

  • wc 统计文件的行数\单词数\字符数

-l 行数
-w 单词数
-c 字符数

  • du 统计文件和目录的大小

-s 汇总显示大小
-h 易读形式显示

目录基本操作命令:
  • tree 树状图列出目录的内容

-C 在文件和目录清单加上色彩,便于区分各种类型

  • ls 查看目录内容
  • cd 切换目录
  • pwd 查看当前目录位置
  • mkdir 创建目录

-p 创建多级目录

  • rmdir 删除空目录
  • rm 删除文件或目录

可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件 及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
-f 强制删除
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理

  • mv 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中
  • cp 用来将一个或多个源文件或者目录复制到指定的目的文件或目录

-a:此参数的效果和同时指定"-dpR"参数相同
-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向 与源文件或目录连接的原始文件或目录
-f:强行复制文件或目录,不论目标文件或目录是否已存在
-i:覆盖既有文件之前先询问用户
-p:保留源文件或目录的属性
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理

  • 移动一个文件,并且重命名;两个命令的区别是:是否要保留源文件
vim:

三种模式:命令模式、插入模式、末行模式

  • 插入模式
输入 说明
i: 在光标当前位置插入
I: 在光标所在行首插入
a: 在光标所在位置后插入
A: 在光标所在行尾插入
o: 光标所在行下方另起一行插入
O: 光标所在行上方另起一行插入
  • 末行模式
输入 说明
w 保存
q 退出
wq 保存并且退出
! 强制
  • 命令行模式
输入 说明
dd 删除[剪切]
yy 复制
nyy 多行复制
p 粘贴
  • 使vim显示行号
    在属主目录下边创建一个.vimrc的文件,添加set nu

  • vim windows linux文件格式转换

操作 说明
:set ff #显示当前文件格式
:set ff=unix #设置成unix格式
:set ff=dos #设置成dos格式
  • 命令模式下的操作
操作 说明
Page Down或Ctrl+F 向下翻动一整页内容
Page Up或Ctrl+B 向上翻动一整页内容
Home键或“^”、数字“0” 跳转至行首
End键或“$”键 跳转到行尾
1G或者gg 跳转到文件的首行
G 跳转到文件的末尾行
nG 跳转到文件中的第n行
x或Del 删除光标处的单个字符
dd 删除当前光标所在行
ndd 删除从光标处开始的n行内容
d^ 删除当前光标之前到行首的所有字符
d$ 删除当前光标处到行尾的所有字符
yy 复制当前行整行的内容到剪贴板
nyy 复制从光标处开始的n行内容
p (小写) 将缓冲区中的内容粘贴到光标位置处之后
P (大写) 粘贴到光标位置处之前
/word 从上而下在文件中查找字符串“word”
?word 从下而上在文件中查找字符串“word”(n,下一个;N,上一个)
u 按一次取消最近的一次操作
U 用于取消对当前行所做的所有编辑
ZZ 保存当前的文件内容并退出vi编辑器
  • 末行模式的操作
操作 说明
:w 保存修改的内容
:w /tmp/newfile 另存为其它文件
:q 未修改退出
:q! 强制放弃对文件内容的修改,并退出
:wq 保存修改的内容并退出
:e ~/newfile 打开新的文件进行编辑
:r /tmp/file 在当前文件中读入其他文件内容

2_linux-常用命令1相关推荐

  1. Kubectl 常用命令, 开发人员常用k8s命令

    Kubectl 常用命令: 什么是常用,我用的,就是常用的

  2. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  3. 客快物流大数据项目(十五):DockeFile常用命令

    目录 DockeFile常用命令 一.FROM 二.​​​​​​​MAINTAINER 三.​​​​​​​RUN

  4. 客快物流大数据项目(九):Docker常用命令

    目录 Docker常用命令 一.帮助命令 二.镜像命令 1.搜索镜像

  5. linux常用命令(转载)

    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短 ...

  6. maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

    maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository. ...

  7. linux kvm虚拟化命令,Linux系统下kvm虚拟化(三)日常管理常用命令和配置说明

    根据我们之前创建和一些操作可以知道,KVM虚拟机的管理主要是通过virsh命令对环境下kvm虚拟机进行管理,下边这里整理一些常用的配置说明以及如何进行日常管理维护. 1,查看KVM虚拟机配置文件 KV ...

  8. kubectl常用命令_《蹲坑学kubernetes》之十五:kubectl命令详解

    kubectl用于运行Kubernetes集群命令的管理工具.本章节主要讲了kubectl基本语法和使用方法.在以后的实际工作中,使用越来越多,也会越来越熟悉. 1.kubectl语法 kubectl ...

  9. 计算机网络管理的常用命令,网络管理常用命令图文详解.pdf

    网络工程师必备 – 网络管理常用命令图文详解 网络工程师必备 网络管理常用命令 图文详解 V1.0 V1.0 包含 ping.ipconfig.netstat.nbtstat.tracert. pat ...

  10. 【转载】Git 常用命令大全

    一. Git 常用命令速查 git branch 查看本地所有分支 git status 查看当前状态  git commit 提交  git branch -a 查看所有的分支 git branch ...

最新文章

  1. HDU 6229 Wandering Robots 找规律+离散化
  2. 通过读源码win10驱动下实现3环的GetEnvironmentVariable
  3. Tensorflow— name/variable_scope
  4. Mysql创建触发器实现不同表的插入、更新、删除操作
  5. 线程的状态 Thread.State||NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED
  6. OpenCV imgproc分割(segmentation)的实例(附完整代码)
  7. Linux下mysql设置密码
  8. iOS核心动画之CALayer-自定义层
  9. 10分钟采集凡客最新的省、市、区、邮政编码和电话区号(附源码)
  10. 用户信息填写web代码_Web前端常见问题汇总
  11. LeetCode 788. Rotated Digits
  12. 著名游戏公司CAPCOM与WAX达成合作 将推出“街头霸王”主题NFT
  13. 1193, Unknown system variable 'tx_isolation'
  14. Lightroom Classic全版本软件安装包(含最新2023)
  15. Enhance Security with Port Knocking
  16. 学生信息管理系统-数据结构课程设计
  17. Google TensorFlow课程 编程笔记(10)———使用神经网络对手写数字进行分类
  18. 线程与全局解释器锁(GIL)
  19. Facebook广告投放5种技巧
  20. 新闻稿发布内容搜索引擎没有收录,稿件内容优化很重要

热门文章

  1. python爬虫之Scrapy框架,基本介绍使用以及用框架下载图片案例
  2. WPS文档:格式显示,页码标注,公式居中编号右对齐,公式编号不能在行中间显示
  3. 近期BSN开发常见问题答疑
  4. 虫子满屏爬_三bug多线程示例程序浅析
  5. 传媒经营之交通广播电台广告的独特个性
  6. 基于SSM的校园兼职管理系统
  7. Java集合这样子学习
  8. 等待是一个过程,每一种坚守都是幸福
  9. java计算机毕业设计基于安卓Android的禁毒宣传APP
  10. ios Objective-c 字体样式大全(UIFont 可设置的)