Mint19.1下使用npm工具
1. 简介
npm 是一个 NodeJS 平台的 JavaScript 包管理工具,它用于管理包发布、查询、安装、开发以及包之间的依赖性冲突等。
npm 安装软件目录有两种模式,一个是全局模式、一个是局部模式(默认)。
3. 格式
1npm <command> [args]
4. 查看帮助信息
12345npm help helpnpm help package.jsonnpm help installnpm help confignpm help npmrc
Mint19.1命令行播放音乐
1. 安装必要软件包
1sudo apt install sox libsox-fmt-all
2. 命令行播放音乐
安装上述软件包后,就可以在命令行中使用 play 命令
1play [musicname].mp3
play 命令有很多强大的功能,具体用法可以 help 一下
1play --help
3. 用途
安装该功能后,就能在 bash 脚本中使用,可以实现诸如报警、提醒、定时闹钟等功能。对于定时功能,如果不想自己手写代码实现,可以利用 Shell 脚本中的at命令或cron时间表。详情参见LinuxShell定时功能 。
Mint19.1安装man中文手册
1. 安装 man 中文软件包
1sudo apt install manpages-zh
2. 查询 man 中文手册安装目录
1dpkg -L manpages-zh | less
发现 man 中文手册安装目录为 /usr/share/man/zh_CN(简体)或 /usr/share/man/zh_TW (繁体)。
3. 设置中英文 man 别名
编辑 ~/.bashrc文件:
1sudo vim ~/.bashrc
在文件末尾添加别名:
12alias cman='man -M /usr/share/man/zh_CN' # 中文手册(繁体同理)alias eman='man -M /usr/share/man' # 英文手册
更新 ~/.bashrc 使之生效:
1source ~/.bashrc
【注】使用 man 命令查询时自动检测是否有中文页面,有则中文显示,无则英文显示。若确定使用中文 man 手册,则使用 cman(但由于 man 中文手册还不够完善,有些命令还查询不到);若确定使用英文 ...
Mint19.1清除系统垃圾
1. 清除不再需要的软件依赖包
1sudo apt autoremove
2. 清除所有软件安装包
1sudo apt clean
3. 清除系统旧的不再使用的软件安装包
1sudo apt autoclean
4. 清除系统多余内核
首先查看当前内核
1uname -a
然后查看系统所有内核
1dpkg --get-selections | grep linux
最后删除不需要的内核
123456sudo apt remove linux-image-xxx-genericsudo apt remove linux-headers-xxxsudo apt remove linux-headers-xxx-genericsudo apt remove linux-modules-xxx-genericsudo apt remove linux-modules-extra-xxx-generic# 只要中间有对应的版本号 xxx 都可以移除
【注】Linux系统中诸如 /var/log/journal、~/.cache、/tmp 文件夹中也有许多可以删除的文件,可以看个人需要 ...
BashShell常量和特殊字符
1. 常量
1.1 整数
Bash Shell 中的整数常量的基本形式如下:
1[base#]n
其中,base 是一个 2 到 64 的十进制数值,表示数字的基数;n 是在 base 基数中的数字的值。如果忽略 base# ,则默认以 10 为基数。n 中的每一位数如果大于 9,则依次以小写字母、大写字母、@、_ 表示(最大表示到十进制中的 63,因为 base 最大为 64)。
如果 base 小于或等于 36,则在表示 n 中的每一位数时,如果该位数字在 10 到 35 之间,表示该位数字的小写字母可以和大写字母进行互换。
对于八进制和十六进制,有更简洁的表示,即以 0 为前导的常量表明是八进制数,以 0x 或 0X 为前导表明是十六进制数。
1.2 字符串
除了整数常量外,Bash Shell 会将常量都看作字符串。将字符串常量赋值给变量可以有以下三种方式:
123var=str # 无引号,字符串不能出现空白符var='str' # 单引号var="str" # 双引号
其中,str、'str' 和 "str&q ...
BashShell数值运算
1. 简介
Bash Shell 本身一些内置命令可以执行简单的整数运算,但复杂一些的运算(比如浮点数运算)需要通过一些外部命令来实现,Bash Shell 数学运算符只支持整数运算。
内置命令:(( ))、let、$[ ](方括号并不是所有的 Shell 都支持)
外部命令:expr、bc、awk
从运行效率来看,Bash Shell 内置命令的执行效率要高于外部命令,(( )) 执行效率最高,其次是 let,外部命令执行效率相对来说较低。
【注】expr 运算在运算符和变量之间需要用空格分开,如果进行乘法运算,还需要对乘号进行转义 \*,否则 Bash Shell 会把乘号解释为通配符而报错。Bash Shell 内置命令和 expr 都不能进行浮点运算,但 bc 和 awk 可以。
2. 整数运算
整数运算
示例
加
((i=i+1))、((i++))、((++i))、((i+=1)) let i=i+1、let i++、let ++i、let i+=1 i=$[i+1]、i=$[i++]、i=$[++i]、i=$[i+=1] (++i 和 i++ ...
BashShell运算符及优先级
Bash Shell 语言中的运算符及其优先级、聚合程度与 C 语言相同,以下运算符表按照优先级级别分组并从上往下递减:
优先级
说明
( )
圆括号运算符
id++、id--
变量自增、自减(在后)
++id、--id
变量自增、自减(在前)
-、+
(单目)取负、取正
!、~
逻辑非、位取反
**
乘幂
*、/、%
乘、除、取余
+、-
加、减
<<、>>
左移、右移
<=、>=、<、>
小于等于、大于等于、小于、大于
==、!=
相等、不等
&
位与(and)
^
位异或(xor)
`
`
&&
逻辑与(and)
`
expr?expr:expr
条件表达式
=、*=、/=、%=、+=、-=、<<=、>>=、&=、^=、`
=`
expr1,expr2
逗号表达式
Bash Shell 运算符根据优先级顺序进行求值。
LinuxShell分类
Linux Shell 从交互式和登录式来看可划分为不同的类别。
1. 交互式 Shell
交互式 Shell 是指在终端命令行上执行,以提示符的方式在终端等待用户输入,并实时运行用户输入的命令的模式;即与用户交互的模式。
1.1 交互登录式 Shell
交互登录式 Shell 是需要用户名和密码登录后进入的 Shell(比如终端下登录远程服务器)或者通过 -login 选项在终端启动的 Shell 。
交互登录式 Shell 可以使用 exit 或 logout 命令退出 Shell
登录本地桌面 Linux 系统本质上也是登录一个 Linux Shell 会话,即交互登录式 Shell(这也是为什么系统会有注销/登出选项退出当前系统)
▲\blacktriangle▲ 登录交互登录式 Shell 时
首先会读取 /etc/profile 启动文件
/etc/profile 文件是 Bash Shell 默认的主启动文件,不同 Linux 发行版其内容不尽相同
然后按照顺序读取第一个被找到的启动文件($HOME/.bashrc 文件不在其中是因为该文件通常 ...
LinuxShell切换前后台程序
1. 前台运行
直接在 Linux 终端运行命令则默认在前台执行。
2. 后台运行
commands &:但一旦关闭对应终端则后台程序也会被强制关闭。
nohup commands:即使关闭对应终端后台程序也不会被强制关闭。(在别的终端需要使用 ps 命令 查看)
1ps -aux | grep XXX # XXX为对应程序名
3. 前后转到后台
ctrl + z:将在前台运行的程序暂停后放到后台。
bg [jobnumber]:将后台暂停的 jobnumber 号作业在后台继续执行(默认处理标记 + 号的作业)。
4. 后台转到前台
fg [jobnumber]:将后台中 jobnumber 号作业转到前台继续执行(默认处理标记 + 号的作业)。
5. 前台终止
直接 ctrl+c 终止程序。
6. 后台终止
kill %jobnumber:终止作业
kill PID:终止进程
【注】jobs 命令查看当前终端的作业。
LinuxShell单引号、双引号、反引号以及无引号的区别
1. 单引号
单引号为强引用,即将单引号中的内容原样输出,而不会对任何变量函数进行解析。比如在 Shell 中输入以下代码:
12_str_="hello world"echo '$_str_'
结果输出:
1$_str_
2. 双引号
在双引号内,会解析的符号:` $ \
除此之外,其余符号都原样输出。比如在 Shell 中输入以下代码:
12_str_="hello world"echo "$_str_"
结果输出:
1hello world
3. 反引号
反引号和 $() 的功能一样,都是进行命令替换,将反引号或 $() 中的字符串做为命令来执行。比如在 Shell 中输入以下代码:
12_str_="hello world"echo `$_str_`
结果输出:
1234Command 'hello' not found, but can be installed with:sudo apt install hello sudo apt ...
LinuxShell命令alias
【注】具体详解参见 help 手册。
1. 简介
Linux Shell 内建命令 alias 用于定义或显示别名。定义别名可以为常用的(带参数)命令创建另一个名称,从而减少输入量,方便日常使用。
2. 格式
12alias [-p]alias NAME=VALUE [NAME=VALUE ...]
其中,不带参数或者带 -p 参数用于以 alias NAME=VALUE 的格式显示已定义的所有别名列表;NAME=VALUE 用于定义别名,NAME 为别名名称、VALUE 为别名替代的命令字符串。
【注意事项】
在当前 Shell 会话终端定义的别名只能在当前终端使用。想要让当前用户永久使用或者整个系统所有用户均可以使用,则可以将别名定义语句 alias NAME=VALUE 写入文件 ~/.bashrc(针对当前用户)或 /etc/profile(针对系统所有用户),并使用 source 命令使之生效:
12source ~/.bashrc # 针对当前用户source /etc/profile # 针对系统所有用户
如果一个没有定义的命令名被作为参数提供 ...
LinuxShell命令declare、local、typeset
【注】具体详解参见 help 手册。
1. 简介
Linux Shell 内建命令 declare 用于声明变量并赋予它们属性。如果没有给定变量名称,则显示所有变量的属性和值。
内建命令 typeset 、local 均等价于 declare,只不过 local 命令只能用在函数内部。三个内建命令的选项参数及其含义均一致。
以下仅以 declare 内建命令为例进行解释。
2. 格式
1declare [OPTION] [NAME[=VALUE] ...]
其中,OPTION 指定了选项参数,NAME 指定变量名称,VALUE 指定了变量的值。
【注】当提供无效选项或发生变量赋值错误时返回失败;否则返回成功。
3. 选项
选项参数
说明
-f
将 NAME 视为函数并显示函数定义内容;未给定 NAME 则显示所有函数定义
-F
将 NAME 视为函数但仅显示其函数名;未给定 NAME 则显示所有函数名称和属性
-g
该选项仅在 Shell 函数内有效,用于指定创建的变量 NAME 为全局变量而不是局部变量
-p
显示每个 NAME 变量的属性和值(使用该选项时 ...