2_linux-常用命令1

前言:
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在当前文件中读入其他文件内容
😒 /old/new将当前行中查找到的第一个字符“old” 串替换为“new”
😒 /old/new/g将当前行中查找到的所有字符串“old” 替换为“new”
:x,y s/old/new/g在行号“x,y”范围内替换所有的字符串
:% s/old/new/g在整个文件范围内替换所有的字符串“old”
😒 /old/new/c在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认
:set nu在编辑器中显示行号
:set nonu取消编辑器中的行号显示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值