学习笔记——Linux常用指令

shell是什么? 

  • 外壳,提供与系统交互的接口;
  • 解释型脚本语言。

常见的解释器种类?

sh:Unix上标准的shell,现在很多的版本中,/bin/sh都是一个软链接,指向其他解释器

bash:Linux众多发行版本默认shell,对sh增加了一些命令和参数

csh:在语法上有一点点类似于C语言

tcsh:csh的增强版,加入了命令补全和更多语法支持

zsh:炫酷,配置复杂

ash:轻量级,低内存

dash:比bash更小,功能相对少一些,由ash发展移植而来

Linux Man手册

--查询Shell命令、可执行程序、基础工具集或Linux API、GLibc API、系统配置文件格式规范等;

序号英文中文
1Executable programs or shell commands可执行程序或shell命令
2System calls (functions provided by the kernel)系统调用(由内核提供的函数)
3 Library calls (functions within program libraries)库调用 (标准库或第三方库提供的函数)
4Special files (usually found in /dev)特殊文件(如对文件/dev/random的描述 )
5File formats and conventions eg /etc/passwd描述了文件的格式,各个字段的含义和取值约束等
6Games游戏
7Miscellaneous (including macro packages and conventions)杂项(不便具体分类的说明都暂且都放这节吧)
8System administration commands (root)系统管理员命令(通常仅适用于root用户)
9Kernel routines [Non standard]内核例程(非标准)
指令man man可以查看

 options:命令选项有两种形式 

长选项(--)和短选项(-)

  • 长选项: 用 -- 引导,后面跟完整的单词,eg:  --verbose
  • 短选项: 用 - 引导,后面跟单个的字符, eg:   -e -l -f (-elf), 但是长选项不能组合使用,如 --verbose后面就不能直接再跟另外一个(选项)单词或字符了。

Shell 命令

安装相关命令

dpkg命令

deb系列软件包管理系统

  • 安装
  • 移除
  • 打包
  • 查看
  • 配置

列出当前系统软件包

dpkg -l

安装软件包

dpkg -i <package>.deb

卸载软件

vim <文件名>进入或创建文档;

按i进入编辑模式;

编辑完成后按Esc退出插入模式;

输入:wq保存并退出。

dpkg -r <package>     (保留配置文件)
dpkg -P <package>     (不保留配置文件)

列出已安装软件包内容

dpkg -L <package>

查找某个文件属于哪个软件包

dpkg -S <file>

 注:安装卸载等操作需要管理员权限,需要在指令之前加上sudo,启用管理员权限。

 注:.deb格式的安装包可以双击直接安装

apt命令

封装度更高的软件包管理系统

  • 安装
  • 卸载
  • 查看
  • 搜索

更新软件源缓存

apt/apt-get update   //更新软件包档案库元数据

升级所有可升级的软件包

apt/apt-get upgrade //安装已安装的软件包的候选版本并且不移除任何其它的软件包

apt full-upgrade
/apt-get dist-upgrade  //安装已安装的软件包的候选版本,并且需要的话会移除其它的软件包

安装软件包

apt/apt-get install <package>

卸载软件包

apt/apt-get remove <package>

apt/apt-get autoremove  //移除不再需要的自动安装的软件包

apt/apt-get purge <package>  //清除软件包的配置文件

apt/apt-get clean  //完全清除本地仓库的软件包检索文件

apt/apt-get autoclean  //清除本地仓库中过时软件包的软件包检索文件

显示软件包信息

apt/apt-cache show <package>

查找软件包

apt search <package>

搜索某个文件的所属软件包

apt-file rearch <file>

注:apt指令安装软件不需要下载软件包,直接输入软件名在源中下载。安装卸载同样需要管理员权限。

 apt和dpkg的差别和关联

  1. apt命令在安装软件包时,调用dpkg进行安装;
  2. apt可以下载软件包,可以从线源中查找和安装软件包,dpkg只能安装已经下载的软件包;
  3. apt可以自动拉取软件包的依赖包,dpkg无法自动处理依赖。

目录命令

 ls命令

用途:列出目录包含的内容

 cd命令

用途:改变shell的工作目录

cd <文件夹名>

dirs命令

用途:显示目录栈内容

dirs -v                                                     //显示目录栈索引

pushd和popd命令

用途:将目录进栈和出栈,并将工作目录切换到新的栈顶

ln命令

用途:创建linux系统中的链接

软链接和硬链接

软连接

  1. 软链接,以路径的形式存在,类似于Windows操作系统中的快捷方式;
  2. 软链接可以 跨文件系统 ,硬链接不可以;
  3. 软链接可以对一个不存在的文件名进行链接;
  4. 软链接可以对目录进行链接。

硬链接

  1. 硬链接,以文件副本的形式存在,但不占用实际空间,inode节点号与源文件相同;
  2. 不允许给目录创建硬链接;
  3. 硬链接只有在同一个文件系统中才能创建。 
ln -s <file1> <file2>                                    //把file2软链接到file1

-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程

 注:作为链接目标文件的路径要使用绝对路径;上图命令是在新建文件夹的基础上链接文件;上图箭头的意思相当于wangwu文件夹是lisi文件夹的快捷方式

 mkdir命令

用途:创建目录

参数用途
-p逐级创建,如果父目录不存在会自动创建
-m指定目录权限属性

 touch命令

用途:创建文件

参数用途
-d使用指定的时间代替current time
-m仅修改mtime
-a仅修改atime
-c禁止创建文件

 cp命令

用途:复制文件和目录

cp <源文件或目录绝对路径> <目标文件或目录绝对路径>

mv命令

用途:移动文件和目录

mv <源文件或目录绝对路径> <目标文件或目录绝对路径>

rm命令

用途:删除文件和目录

rm <文件或目录名>

 vi/vim/vim.tiny系列程序

用途:文本编辑器

注:需要apt vim进行安装后才能使用。

vim使用步骤

  1. vim <文件名>进入或创建文档;
  2. 按i进入编辑模式;
  3. 编辑完成后按Esc退出插入模式;
  4. 输入:wq保存并退出。

top命令

用途:显示系统进程和资源情况

参数说明
-p只显示指定PID的进程,可以重复使用该参数监听多个进程
-H显示线程

1.top字段说明

PID:进程ID,进程的唯一标识符

USER:进程所有者的实际用户名。

PR:进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。

NI:进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级

VIRT:进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES:驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR:SHR是进程使用的共享内存。共享内存大小,单位kb

S:进程的状态。它有以下不同的值:

  • D - 不可中断的睡眠态。
  • R – 运行态
  • S – 睡眠态
  • T – 被跟踪或已停止
  • Z – 僵尸态

%CPU:自从上一次更新时到现在任务所使用的CPU时间百分比。

%MEM:进程使用的可用物理内存百分比。

TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。

COMMAND:运行进程所使用的命令。进程名称(命令名/命令行)

 2.常用指令

Ctrl+L:擦除并且重写屏幕

K:终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。

i:忽略闲置和僵死进程。这是一个开关式命令。

q:退出程序

r:重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。

S:切换到累计模式。

s:改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。

f或者F:从当前显示中添加或者删除项目。

o或者O:改变显示项目的顺序

l:切换显示平均负载和启动时间信息。

m:切换显示内存信息。

t:切换显示进程和CPU状态信息。

c:切换显示命令名称和完整命令行。

M:根据驻留内存大小进行排序。

P:根据CPU使用百分比大小进行排序。

T:根据时间/累计时间进行排序。

W:将当前设置写入~/.toprc文件中。

ps命令

用途:输出当前进程的快照

参数说明
-ef显示所有用户的所有进程(UNIX风格参数)
aux显示所有用户的所有进程(BSD风格参数)

free命令

用途:显示当前系统内存使用情况

参数说明
-b/-k/-m/-g以bytes/kilobytes/megabytes/gigabytes形式显示结果
-h以可读性更强的形式展现结果
-si以1024为阶级,而非1000
-c N连续输出N次结果,然后退出
-s N每隔N秒输出一次结果

 注:-s指令按Ctrl+c结束。

fdisk命令

用途:操作磁盘分区表,能识别GPT、MBR、Sun、SGI和BSD类型的分区表

参数说明
-l列出指定的(或所有在/proc/partitions中的)磁盘的分区表
-b指定磁盘的扇区大小,可用的值有512/1024/2048/4096
fdisk /dev/XXX对指定磁盘的分区表进行操作

ssh命令

用途:登录远程主机

scp命令

用途:远程拷贝文件

参数说明
-r拷贝目录
-p同时拷贝mtime、atime和modes

从本地拷贝文件到远程主机:

  • scp test kylin1@172.17.4.xxx:~
  • scp -r test kylin1@172.17.4.xxx:~

从远程主机拷贝文件到本地:

  • scp kylin1@172.17.4.xxx:~/test /home/kylin/
  • scp -r kylin1@172.17.4.xxx:~/test /home/kylin/

sudo命令

用途:以另一用户身份继续执行后续指令

参数说明
-u指定用户

cat命令

用途:从头到尾打印文件

参数说明
-n输出的同时加上行号

-b

输出的同时加上行号,但不统计空白行
-E在每行的结尾加上$符标记
-v打印那些不可见的字符

tail命令

用途:打印文件尾指定行数

参数说明
-f持续追踪文件变化并打印
--retry当文件不存在时不退出,持续监听直至文件出现
-F相当于-f --retry
-n N打印倒数N行

head命令

用途:打印文件头指定行数

sed 命令

用途:利用脚本处理文本文件

选项与参数:

-n :使用安静(silent)模式。

-e :直接在命令列模式上进行 sed 的动作编辑;

-f :直接将 sed 的动作写在一个文件内

-r :sed 的动作支持的是延伸型正规表示法的语法。

-i :直接修改读取的文件内容,而不是输出到终端。

动作说明:

a :新增 sed  4a\newline testfile

c :取代

d :删除 sed '1,2d' testfile

i :插入

p :打印

s :取代 sed 's/要被取代的字串/新的字串/g'

more命令

用途:以分页的形式显示文件

操作:

空格 -- 向下翻页

回车 -- 向下滚动一行

q -- 退出

参数说明
+N

从第N行开始显示

-n每次显示N行

less命令

用途:more than more

查找命令

 grep命令

用途:搜索并打印符合表达式的文本行

参数说明
-v反搜,即搜索那些不符合表达式的文本行
-E以扩展版正则表达式解析后续的 PATTERNS
-i忽略大小写
-w全文匹配
-A N输出匹配行的同时,还输出该行后的N行
-B N输出匹配行的同时,还输出该行前的N行
-C N输出匹配行的同时,还输出该行前后各N行

 history命令

用途:输出历史命令记录

参数说明
-c清空历史记录列表
-w将当前操作的记录到历史文件中
-a将当前会话的历史记录追加到历史文件中

!命令

用途:使用上一条命令

chown命令

用途:变更文件的属组/属主

chgrp命令

用途:变更文件的属组

chmod命令

用途:变更文件的属性标志位

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值