windows less 命令wless在哪打开

Node.js(1)
前端(24)
原文地址:
这篇不介绍 LESS 是甚么,只记录一下怎么准备在 windows 下用 command-line 编译 *.less 的环境.
安装 node.js
直接从 node.js 网站下载msi安装档后执行安装即可.
透过 npm 安装 less
npm是node.js的packagemanaer,安装完 node.js 后就会这程序可以用.
所以只要透过npm安装less这个package就可以了.
首先执行node.js command prompt,在开启的command窗口下执行
npm install less -g
LESS官方网站上说明是是直接使用 npminstall less,不过为了方便使用lessc,
所以建议加上-g, 将它安装成global package
执行完指令后,就等它跑完就可以使用lessc了
使用 lessc 编译*.less
在node.js command prompt的窗口下先切换到你要编译的 *.less 档案目录下,
然后执行下面指令
lessc filename.less & filename.css //非压缩
lessc filename.less &filename.css -x //压缩
执行完后,指定的css档就会产生在所在的目录下
浏览器端使用
LESSCSS也可以不经编译,直接在浏览器端使用。
使用方法:
下载LESSCSS的.js文件,例如lesscss-1.4.0.min.js。
在页面中引入.less文件
&link rel=&stylesheet/less& href=&example.less& /&
需要注意rel属性的值是stylesheet/less,而不是stylesheet。
引入第1步下载的.js文件
&script src=&lesscss-1.4.0.min.js&&&/script&
需要特别注意的是,由于浏览器端使用时是使用ajax来拉取.less文件,因此直接在本机文件系统打开(即地址是file://开头)或者是有跨域的情况下会拉取不到.less文件,导致样式无法生效。
还有一种情况容易导致样式无法生效,就是部分服务器(以IIS居多)会对未知后缀的文件返回404,导致无法正常读取.less文件。解决方案是在服务器中为.less文件配置MIME值为text/css(具体方法请搜索)。或者还有一种更简单的方法,即是直接将.less文件改名为.css文件即可。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:9070次
排名:千里之外
原创:30篇
转载:10篇
(1)(2)(5)(2)(1)(3)(2)(2)(5)(6)(2)(7)(1)(1)2.4 Linux常用操作命令 - 为程序员服务
2.4 Linux常用操作命令
2.文件目录操作
——获取文件目录属性
——获取当前工作目录路径
——切换工作目录
——显示目录结构
——显示文件类别等信息
——移动文件目录或修改文件目录名称
——拷贝文件目录
——文件传输
——创建文件
——创建目录
——删除文件或目录
——创建快捷方式
3.打包压缩文件
——gz压缩解压相关
——zip打包压缩相关
——bz2压缩相关
——xz压缩相关
——Z压缩解压相关
——tar包相关
4.文本内容处理
——打印文件内容
——分页查看文本内容
——从头或者从尾查看
——统计文本内容
——计算文件中的行号
——文本内容查找
——按需分割文件
——对文本内容进行排序
——对文本内容进行去重计数
——比较两个文件中的内容
——文本内容编辑
——文本的过滤和转换(流处理)
5.系统信息操作
——查看系统磁盘空间信息
——查看系统cpu配置情况
——查看系统内存使用情况
——查看系统实时运行状态
——查看当前运行程序信息
——杀掉某个进程
——查看当前系统时间与日历
——系统自带简易计算器
——查看系统网络信息
——从网上下载数据
——让程序前后台切换运行
——查看命令的位置
——查看谁在登陆,在干什么
——查看命令函数等帮助文档
6. 重要备注
——命令重命名
——管道操作符
——环境变量设置
——程序不中断运行
1.文件目录操作
2.打包压缩文件
3.文本内容处理
4.系统信息操作
1. Linux中的大部分命令都是一些单词的缩写,只要能够充分理解操作意图就能巧妙的掌握这些命令。
2. Linux中的命令是大小写敏感的(如cd和CD不相同)。
3. 终端(Xshell或者窗口模式中的Terminal应用)中 按下回车即为执行该命令(如 ls 回车, 即为执行ls命令)。
4. 命令的参数前一般有-或者–,而且参数之间通常是用空格隔开,也有多个参数连在一起的。
4. 熟能生巧、多加练习。
5. Linux命令用法多样,掌握常用即可。
学习资料:
/peida/archive//2803591.html
http://www.oschina.net/translate/useful-linux-commands-for-newbies
/html/webkaifa/Linux/85.html
http://blog.csdn.net/xiaoguaihai/article/details/8705992
要有意识的经常使用
[Ctrl]-c 按键—让当前的程序『停掉』
[Ctrl]-d 按键—通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可以用来取代exit
注:进入终端后会显示如下默认内容:
[Test@cpst01 ~]$
#其中 Test表示用户名, cpst01表示服务器的主机名, ~表示用户所在的当前目录, $为命令输入提示符, 光标闪烁地方即可输入命令。
2.文件目录操作
基本的文件目录操作是Linux的基础知识,如果这些都不能掌握更何谈后面的分析。
获取文件属性
ls(list)意思就是列举出指定文件或目录的基本属性(List Directory Contents),下面我们直接执行ls命令来看下输出结果。用的最多的Linux命令之一。
上面的图中列举了文件和目录的基本属性,包括权限(r-read, w-write,x-executive),d-Directory。
下面详细介绍下文件及目录的权限属性:
-rw-r–r–
第一个字符为文件类型(-为普通文件;d为目录(可以理解为特殊的文件);l表示这是一个符号链接文件,实际上它指向另一个文件;b、c分别表示区块设备和其他的外围设备,是特殊类型的文件;s、p:这些文件关系到系统的数据结构和管道,通常很少见到。)
第2~10个字符当中的每3个为一组,左边三个字符表示所有者权限,中间3个字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限。这三个一组共9个字符,代表的意义如下:
r(Read,读取):对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权限。
w(Write,写入):对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
x(eXecute,执行):对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。
权限除了可以用字母表示外,还可以用对应的数字表示:
文件和目录的权限表示,是用rwx这三个字符来代表所有者、用户组和其他用户的权限。有时候,字符似乎过于麻烦,因此还有另外一种方法是以数字来表示权限,而且仅需三个数字。
r: 对应数值4
w: 对应数值2
x:对应数值1
-:对应数值0
其实很简单,我们将rwx看成
(不懂的话百度),如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:111 101 100,再将其每三位转换成为一个十进制数,就是754。
ls命令格式及参数:
命令格式:
ls [参数] 文件或目录
常用参数:
-a (all) 显示所有文件目录(包括. 和..,以及隐藏文件目录)名称
-l (long)显示详细信息( . 和.., 以及隐藏文件目录除外)
-h(human)以人类可以更好的理解的形式展示信息
-F 将目录下的目录显示出来(后面有/)
-R 递归地显示所有内容
其它常用参数。
其中文件或目录如果没有指定的话默认是当前目录 .
其它更详细的参数:
应用举例:
#列举当前路径下的所有内容
#以K M G 等形式展示文件或目录大小
#递归(子目录)显示所有文件或目录
#多个参数联合
ls –Slh (或者:ls -S -l -h -r)
——获取当前工作目录
直接运行pwd即可
[Test@cpst01 ~]$ pwd
/home/Test
——切换工作目录
cd(change directory) 就是切换当前工作目录的意思。
使用示例:
进入根目录下的public文件夹
cd /public
# 进入当前目录的上一级目录
# 进入当前目录的上两级目录
# 进入自己的home目录
# 进入自己的home目录下的tt1目录
# 进入上一次的目录
——显示目录结构
[Test@cpst01 ~]$ tree
├── public_data
├── public_script
└── public_software
directories, 0 files
——显示文件类别等信息
[Test@cpst01 ~]$ file ~/.bashrc
/home/Test/.bashrc: ASCII text
——移动文件目录或修改文件目录名称
move (rename) files, 同时具备移动和重命名的功能。用的最多的Linux命令之一。
[Test@cpst01 ~]$ ls
public_data
public_script
public_software
pwd.help.txt
[Test@cpst01 ~]$ mv pwd.help.txt pwd.help.new.txt
[Test@cpst01 ~]$ ls
public_data
public_script
public_software
pwd.help.new.txt
#移动文件或目录
[Test@cpst01 ~]$ ls
public_data
public_script
public_software
pwd.help.new.txt
[Test@cpst01 ~]$ mv pwd.help.new.txt folder/
[Test@cpst01 ~]$ tree
├── folder
└── pwd.help.new.txt
├── public_data
├── public_script
└── public_software
directories, 1 file
do not prompt before overwriting (默认是会覆盖的)
prompt before overwrite(提示是否覆盖)
move only when the SOURCE file is newer than the destination file or when the destination file is missing(新文件覆盖旧文件)
explain what is being done(现在过程)
——拷贝文件目录
copy files and directories, 复制文件或目录。用的最多的Linux命令之一。
prompt before overwrite(提示是否覆盖)
copy directories recursively(复制整个文件夹及其子内容)
destination
be opened, remove it and try again(之间覆盖)
使用示例:
[Test@cpst01 ~]$ tree
├── folder
└── pwd.help.new.txt
├── lyy_all.txt
├── public_data
├── public_script
├── public_software
└── pwd.help.new.txt
directories, 3 files
[Test@cpst01 ~]$ cp -i pwd.help.new.txt folder/
cp: overwrite `folder/pwd.help.new.txt'? n
[Test@cpst01 ~]$ cp -r folder/ public_data/
[Test@cpst01 ~]$ tree
├── folder
└── pwd.help.new.txt
├── lyy_all.txt
├── public_data
└── folder
└── pwd.help.new.txt
├── public_script
├── public_software
└── pwd.help.new.txt
directories, 4 files
scp、sz、rz
——文件传输
scp、sz、rz是一组提供文件传输功能的命令,其中scp(secure copy)主要是针对远程服务器之间的拷贝,而sz(send)是从服务器上将文件下载到本地电脑,而rz(receive)则是将本地电脑上的文件传输到服务器相应的路径,有的服务器上不一定自带了sz rz功能,需要利用root账户安装相应的软件lrzsz.x86_64(yum install lrzsz.x86_64)。
一般的格式是
scp [参数]
[[user@]host1:]file1 [[user@]host2:]file2, 其中参数部分和cp类似,像最常用的-r
[Test@cpst01 ~]$ scp whgao@xxx.xxx.xxx.xxx:/home/whgao/slaves ./
The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is ba:43:22:d4:e9:73:49:c8:82:04:7b:f6:32:5b:d0:0c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'xxx.xxx.xxx.xxx' (RSA) to the list of known hosts.
whgao@xxx.xxx.xxx.xxx's password: (此处输入密码, 也可以通过设置免输密码)
[Test@cpst01 ~]$ ls
lyy_all.txt
public_data
public_script
public_software
pwd.help.new.txt
#如果想远程传输文件夹, 则是 -r参数
后面直接跟文件即可从服务器上进行下载,如下:
#将当期路径下的slaves文件下载到本地
sz ./slaves
在终端敲入rz后会弹出文件选择器对话框(注:本地需要上传的文件最好不要存放在中文路径,否则会出错)
scp在服务器之间进行数据的传输很有效,rz sz则在与服务器进行小文件的传输很多效,大数据的传输可以使用一些专业的传输软件,如filezilla、winscp等。
touch、vim、重定向
——创建文件
上面讲了很多与文件相关的命令,那么如何去创建一个文件呢?(好比windows下单击邮件-&New-&New Documents txt)。Linux中有很多创建文件的方式,下面介绍几种。
——change file timestamps,touch的主要用途是改变文件的时间戳,但同时也是可以去创建一个空白的文本文件。
use this file’s times instead of current time (利用file1的时间才更新file2的时)间
use [[CC]YY]MMDDhhmm[.ss] instead of current time (直接设置指定的时间)
使用示例:
#创建一个不存在的文件
touch example.txt
#更新文件的时间戳使其相同
touch –r example1.txt example2.txt
#设置某个文件的时间戳为指定值
touch –t .50 log.log
——Vi IMproved, a programmers text editor, 是vi的一个升级版,强大功能的文本编辑工具,和我们普通的视窗编辑器不同,用熟练了后效率会很高。vim可以创建一个空白的文档,也可以打开编辑多个文档,多以是指令的方式来完成相应的操作。这里简单提及下利用vim 创建一个文档。
vim somefile
#打开后 再输入
就会在当前目录下产生一个名为somefile的文档
——我们默认运行的一些命令,其输出结果(包括
标准正确输出
标准错误输出
)一般是直接输出到屏幕上去的,有时我们希望把这些结果存在文件中,这就涉及到了结果的重定向输出。
Someprogram xxx xxx 1&log.txt 2&errlog.txt
(如果不存在log.txt errlog.txt 则先创建再写内容,如果存在则直接覆盖原来的内容)
. 其中1& 表示的是标准正确输出重定向, 2&表示的是标准错误输出重定向。
. 且 & 也可以用&&替代, 表示的是不覆盖原文件内容,而是将新的内容追加到原文件的后面
#比如下面的命令
就是将pwd命令的帮助文件 也就是man pwd的标准输出结果 重定向 保存当一个文件中
man pwd &pwd.help.txt
——创建目录
看着英文缩写就应该知道该命令的意思了(make directory)常见文件夹。linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。用的最多的Linux命令之一。
常见参数:
-m 模式,设定权限&模式& (类似 chmod),而不是 rwxrwxrwx 减 umask
-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
使用示例:
[Test@cpst01 ~]$ mkdir t1
[Test@cpst01 ~]$ tree
├── folder
└── pwd.help.new.txt
├── lyy_all.txt
├── public_data
└── folder
└── pwd.help.new.txt
├── public_script
├── public_software
├── pwd.help.new.txt
├── slaves
directories, 5 files
[Test@cpst01 ~]$ mkdir -p t1/t11
[Test@cpst01 ~]$ tree
├── folder
└── pwd.help.new.txt
├── lyy_all.txt
├── public_data
└── folder
└── pwd.help.new.txt
├── public_script
├── public_software
├── pwd.help.new.txt
├── slaves
└── t11
——删除文件或目录
——remove files and directory, 删除文件和目录,用的最多的Linux命令之一。
该命令的功能为删除一个
目录中的一个或多个文件或目录
,它也可以将某个目录及其下的所有文件及子目录
。对于链接文件,只是删除了
,原有文件均保持不变。
rm是一个危险的命令,使用的时候要特别当心,尤其对于
忽略不存在的文件,从不给出提示。
进行交互式删除
指示rm将参数中列出的全部目录和子目录均递归地删除。
使用示例:
[Test@cpst01 ~]$ tree
├── folder
└── pwd.help.new.txt
├── lyy_all.txt
├── public_data
└── folder
└── pwd.help.new.txt
├── public_script
├── public_software
├── pwd.help.new.txt
├── slaves
└── t11
directories, 5 files
[Test@cpst01 ~]$ rm -i lyy_all.txt
rm: remove regular file `lyy_all.txt'? n
[Test@cpst01 ~]$ rm -fr t1/
#f 参数和 r 参数联合使用
[Test@cpst01 ~]$ tree
├── folder
└── pwd.help.new.txt
├── lyy_all.txt
├── public_data
└── folder
└── pwd.help.new.txt
├── public_script
├── public_software
├── pwd.help.new.txt
└── slaves
directories, 5 files
remove empty directory 主要是用来删除空目录的,可以用rm –r dir 来替代。
——创建快捷方式
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个
同步的链接
.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,
不必重复的占用磁盘空间
连接也是实现数据共享,避免数据冗余的一种方法。
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
软链接可以对目录进行链接
1.硬链接,以文件副本的形式存在。但不占用实际空间。
不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
make symbolic links instead of hard links(软连接)
使用示例:
[Test@cpst01 ~]$ tree
├── folder
└── pwd.help.new.txt
├── lyy_all.txt
├── public_data
└── folder
└── pwd.help.new.txt
├── public_script
├── public_software
├── pwd.help.new.txt
└── slaves
directories, 5 files
[Test@cpst01 ~]$ ln -s lyy_all.txt lyy_all.ln.txt
[Test@cpst01 ~]$ tree
├── folder
└── pwd.help.new.txt
├── lyy_all.ln.txt -& lyy_all.txt
├── lyy_all.txt
├── public_data
└── folder
└── pwd.help.new.txt
├── public_script
├── public_software
├── pwd.help.new.txt
└── slaves
directories, 6 files
从本地电脑上传一个txt文件到服务器,将该txt文件修改为example.txt,创建example目录并将example.txt移动到该目录。查看该文件的文件类别信息,拷贝一个example.txt并命名为example.copy.txt。最后删除example目录及其所包含的所有内容。
mv a.txt example.txt
mkdir example
mv example.txt example/
file example/example.txt
cp example/example.txt ./example.copy.txt
rm –fr example/
3.打包压缩文件
文件及目录的打包压缩可以使文档更加整洁和减少磁盘存储,如window上的zip,rar等类似。压缩的算法有很多种,也对应下面不同的命令,但是基本的参数都很相似。
gzip/gunzip
——gz压缩解压相关
最简单用法(一般压缩文件后缀名为gz):
解压:gunzip somefile.gz,或者,gzip –d somefile.gz
压缩:gzip somefile
#gzip 常见参数
-c 将压缩后的内容之间打印到屏幕(可以通过重定向保存到文件),原文件不动
等同于 gunzip
-l 列举已经被压缩文件的特征
-v 显示处理过程
-S [后缀名] 替代默认的 .gz
#gunzip 常见参数
将解压后的内容之间打印到屏幕(可以通过重定向保存到文件),gz文件不动
-v 显示处理过程
使用示例:
[Test@cpst01 ~]$ tree
├── folder
│ └── pwd.help.new.txt
├── public_data
│ └── folder
└── pwd.help.new.txt
├── public_script
├── public_software
├── pwd.help.new.copy.txt
└── pwd.help.new.txt
directories, 4 files
[Test@cpst01 ~]$ gzip pwd.help.new.*
#直接压缩, 原来的文件会被替换成带.gz后缀
[Test@cpst01 ~]$ tree
├── folder
│ └── pwd.help.new.txt
├── public_data
│ └── folder
└── pwd.help.new.txt
├── public_script
├── public_software
├── pwd.help.new.copy.txt.gz
└── pwd.help.new.txt.gz
directories, 4 files
[Test@cpst01 ~]$ gzip -l pwd.help.new.txt.gz
compressed
uncompressed
ratio uncompressed_name
% pwd.help.new.txt
[Test@cpst01 ~]$ gzip -cv pwd.help.new.copy.txt &test.gz
#原文件不动
pwd.help.new.copy.txt: 50.6%
使用示例:
[Test@cpst01 ~]$ tree
├── folder
└── pwd.help.new.txt
├── public_data
└── folder
└── pwd.help.new.txt
├── public_script
├── public_software
├── pwd.help.new.copy.txt
├── pwd.help.new.txt.gz
└── test.gz
directories, 5 files
[Test@cpst01 ~]$ gunzip -c test.gz &t.txt
[Test@cpst01 ~]$ gunzip pwd.help.new.txt.gz
[Test@cpst01 ~]$ tree
├── folder
└── pwd.help.new.txt
├── public_data
└── folder
└── pwd.help.new.txt
├── public_script
├── public_software
├── pwd.help.new.copy.txt
├── pwd.help.new.txt
├── test.gz
└── t.txt
directories, 6 files
——zip打包压缩相关
上述介绍的gzip只是压缩但并不能对多个文件或者文件夹打包,zip具有打包和压缩功能,这和我们在windows上常见的zip是一样的,这种文件在windows和linux上是通用的,后缀名一般为zip。(package and compress (archive) files)
使用语法: zip some.zip
addfile1 addfile2 adddir1
#zip 常见参数
-r 将目录下的内容都打包压缩
-d 删除打包文件中的某个文件
#unzip 常见参数
-l 列举zip文件中的内容
-t 测试压缩文件是否完整
-v 显示压制包内容
-d 解压到某个路径
使用示例:
[Test@cpst01 ~]$ tree
└── pwd.help.new.txt
directories, 1 file
[Test@cpst01 ~]$ zip example.zip pwd.help.new.txt
adding: pwd.help.new.txt (deflated 50%)
[Test@cpst01 ~]$ tree
├── example.zip
└── pwd.help.new.txt
directories, 2 files
[Test@cpst01 ~]$ zip example.zip testdir/
adding: testdir/ (stored 0%)
[Test@cpst01 ~]$ zip -d example.zip pwd.help.new.txt
deleting: pwd.help.new.txt
使用示例:
[Test@cpst01 ~]$ unzip -l example.zip
example.zip
---------- -----
pwd.help.new.txt
[Test@cpst01 ~]$ unzip -t example.zip
example.zip
testing: pwd.help.new.txt
testing: testdir/
No errors detected in compressed data of example.zip.
[Test@cpst01 ~]$ unzip -d ./ example.zip
example.zip
replace ./pwd.help.new.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: n
[Test@cpst01 ~]$ unzip -d testdir/ example.zip
example.zip
creating: testdir/testdir/
inflating: testdir/pwd.help.new.txt
bzip2/bunzip2
——bz2压缩相关
与上述的zip不同,bzip2只能压缩而不提供打包功能,这与gzip相同。(a block-sorting file compressor),一般后缀名为.bz2。
最简单语法:
压缩:bzip2
[参数] file1 file2
解压:bunzip2 file.bz2
#bzip2 常见参数
-c 将压缩内容打印到屏幕
-t 检查压缩包完整性
#bunzip2 常见参数
-c 将解压内容打印到屏幕
-t 检查压缩包完整性
使用示例:
[Test@cpst01 ~]$ tree
├── example.zip
├── pwd.help.new.txt
├── test
└── testdir
├── pwd.help.new.txt
└── testdir
directories, 4 files
[Test@cpst01 ~]$ bzip2 pwd.help.new.txt
[Test@cpst01 ~]$ tree
├── example.zip
├── pwd.help.new.txt.bz2
├── test.bz2
└── testdir
├── pwd.help.new.txt
└── testdir
directories, 4 files
[Test@cpst01 ~]$ bunzip2
pwd.help.new.txt.bz2: done
——xz压缩相关
xz压缩用的相对少一点,用法和bzip2、gz差不多。(a general-purpose data compression tool with command
and bzip2(1).)
使用示例:
[Test@cpst01 ~]$ tree
├── example.zip
├── pwd.help.new.txt
├── test
└── testdir
├── pwd.help.new.txt
└── testdir
directories, 4 files
[Test@cpst01 ~]$ xz -v pwd.help.new.txt
pwd.help.new.txt (1/2)
1,104 B / 2,017 B = 0.547
test (2/2)
1,104 B / 2,017 B = 0.547
[Test@cpst01 ~]$ tree
├── example.zip
├── pwd.help.new.txt.xz
├── testdir
├── pwd.help.new.txt
└── testdir
└── test.xz
directories, 4 files
[Test@cpst01 ~]$ unxz -v *.xz
pwd.help.new.txt.xz (1/2)
1,104 B / 2,017 B = 0.547
test.xz (2/2)
1,104 B / 2,017 B = 0.547
[Test@cpst01 ~]$ tree
├── example.zip
├── pwd.help.new.txt
├── test
└── testdir
├── pwd.help.new.txt
└── testdir
directories, 4 files
compress/uncompress
——Z压缩解压相关
compress 是一个相当古老的 unix 档案压缩指令,压缩后的档案会加上一个
延伸档名以区别未压缩的档案,压缩后的档案可以以 uncompress 解压。若要将数个档案压成一个压缩档,必须先将档案 tar 起来再压缩。由于
可以产生更理想的压缩比例,一般人多已改用 gzip 为档案压缩工具。
#compress/uncompress 常见参数参数:
- c 输出结果至标准输出设备(一般指荧幕)
- f 强迫写入档案,若目的档已经存在,则会被覆盖 (force)
- v 将程序执行的讯息印在荧幕上 (verbose)
有的服务器上可能只有它的帮助文档,但是并没有其命令。(需root用户安装:yum install ncompress.x86_64)
使用示例:
[Test@cpst01 ~]$ ls
example.zip
pwd.help.new.txt
[Test@cpst01 ~]$ compress -v pwd.help.new.txt
pwd.help.new.txt:
-- replaced with pwd.help.new.txt.Z Compression: 36.04%
[Test@cpst01 ~]$ uncompress -v pwd.help.new.txt.Z
pwd.help.new.txt.Z:
-- replaced with pwd.help.new.txt
[Test@cpst01 ~]$ ls
example.zip
pwd.help.new.txt
——tar包相关
tar是非常重要打包压缩命令,因为它可以打包解包,而且还可以调用其它命令来进行压缩,是一个综合性的命令。
单纯的tar是打包而不是压缩
解包:tar -xvf somefile.tar,
打包:tar -cvf somefile.tar dir_or_file_list
#基本参数:
-c 创建新的包,
-x 展开内部文件,
-t 显示tar包内容
-v显示正在处理的文件,
-f 指定包文件
#tar命令通过调用适当的参数来实现在打包完成的基础上进行相应的压缩处理,从而简化打包压缩操作。
#打包压缩后缀名:.tar.gz(.tgz)、.tar.bz2(.tbz2)、tar.xz、.tar.Z
#调用对应的压缩解压命令参数:
-z 检查是否具有gzip属性,也可用来调用gzip/gunzip命令 (这个用的最多)
检查是否具有bzip2属性,也可用来调用bzip2/bunzip2命令
检查是否具有xz属性,也可用来调用xz/unxz命令
-Z 检查是否具有compress属性,也可用来调用compress命令
使用示例:
[Test@cpst01 ~]$ ls
example.zip
pwd.help.new.txt
[Test@cpst01 ~]$ tar -cvf create.tar pwd.help.new.txt testdir/ test
pwd.help.new.txt
testdir/pwd.help.new.txt
testdir/testdir/
[Test@cpst01 ~]$ ls
create.tar
example.zip
pwd.help.new.txt
[Test@cpst01 ~]$ tar -tvf create.tar
-rw-rw-r-- Test/Test
-28 10:16 pwd.help.new.txt
drwxrwxr-x Test/Test
15:23 testdir/
-rw-rw-r-- Test/Test
-28 10:16 testdir/pwd.help.new.txt
drwxrwxr-x Test/Test
11:20 testdir/testdir/
-rw-rw-r-- Test/Test
-30 15:05 test
[Test@cpst01 ~]$ ls
example.zip
pwd.help.new.txt
[Test@cpst01 ~]$ tar -zcvf create.tar.gz pwd.help.new.txt test testdir/
pwd.help.new.txt
testdir/pwd.help.new.txt
testdir/testdir/
[Test@cpst01 ~]$ tree
├── create.tar.gz
├── example.zip
├── pwd.help.new.txt
├── test
└── testdir
├── pwd.help.new.txt
└── testdir
directories, 5 files
[Test@cpst01 ~]$ tar -jcvf create.tar.bz2 pwd.help.new.txt test testdir/
pwd.help.new.txt
testdir/pwd.help.new.txt
testdir/testdir/
[Test@cpst01 ~]$ ls
create.tar.bz2
create.tar.gz
example.zip
pwd.help.new.txt
大家可能会问,windows下常用的rar在linux下有对应的命令吗?由于rar在Linux不常用所以不自带rar相关的命令,需要另外安装,这里就不讲解了。
4.文本内容处理
前两节讲解的主要是如何对文件系统的中的文件和目录进行操作(包括浏览、创建、打包、压缩等),那么这节就要讲解下如何去文件的内容进行操作(包括查看、统计、搜索、编辑等)。
——打印文件内容
cat – concatenate files and print on the standard output
tac – concatenate and print files in reverse
#cat 参数(tac与cat不共参数):
-A 打印所有内容包括隐藏字符(等同于-vET)
-b 给非空行遍行号
-E 在每行行末显示$
-n 给所有行显示行号
-T 显示tab字符为^I
使用示例:
[Test@cpst01 ~]$ cat -A short.txt
[Test@cpst01 ~]$ cat -n short.txt
3 sdfdshfh
[Test@cpst01 ~]$ cat -b short.txt
3 sdfdshfh
more、less
——分页查看文本内容
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。
more 命令格式:
more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file … ]
#more 常见参数
从笫n行开始显示
定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行
之后开始显示
从顶部清屏,然后显示
提示“Press space to continue,’q’ to quit(按空格键继
续,按q键退出)”,禁用响铃功能
忽略Ctrl+l(换页)字符
通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
把连续的多个空行显示为一行
把文件内容中的下画线去掉
more 常用操作命令(用more打开文件后,操作键盘):
向下n行,需要定义。默认为1行
向下滚动一屏
向下滚动一屏
返回上一屏
输出当前行的行号
输出文件名和当前行的行号
调用vi编辑器
调用Shell,并执行命令
使用示例:
[Test@cpst01 ~]$ cat short.txt
[Test@cpst01 ~]$ more short.txt
[Test@cpst01 ~]$ more +3 short.txt
[Test@cpst01 ~]$ more +/ds short.txt
...skipping
[Test@cpst01 ~]$ more -3 short.txt
--More--(32%)
– opposite of more, 应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。若使用了 less 时,就可以使用
等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,
不止可以向下搜,也可以向上搜
less 命令格式:
less [参数]
#less 常见命令参数:
显示每行的行号
显示连续空行为一行
行过长时间将超出部分舍弃
-x &数字& 将“tab”键显示为规定的数字空格
less 常用操作命令(用less打开文件后,操作键盘):
less 与 more 类似,但使用 less 可以随意浏览文件,而且 less 在查看之前不会加载整个文件。
字符串:向下搜索“字符串”的功能
字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]:
向上翻动一页
1.全屏导航
ctrl + F – 向前移动一屏
ctrl + B – 向后移动一屏
ctrl + D – 向前移动半屏
ctrl + U – 向后移动半屏
2.单行导航
j – 向前移动一行
k – 向后移动一行
3.其它导航
G – 移动到最后一行
g – 移动到第一行
q / ZZ – 退出 less 命令
4.其它有用的命令
v – 使用配置的编辑器编辑当前文件
h – 显示 less 的帮助文档
&pattern – 仅显示匹配模式的行,而不是整个文件
head、tail
——从头或者从尾查看
head – output the first part of files
tail – output the last part of files
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的
tail 命令从指定点开始将文件写到标准输出。
#head 令参数:
-q 隐藏文件名
-v 显示文件名
-c &字节& 显示字节数
-n &行数& 显示的行数
#tail 命令参数:
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c &数目& 显示的字节数
-n &行数& 显示行数
使用tail命令的-f选项可以方便的查阅正在改变的日志文件, tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。
——统计文本内容
此wc非彼wc,wc – print newline, word, and byte counts for each file, 打印每个文件的行数、字数、字节数。
wc [OPTION]… [FILE]
#wc 常见命令参数:
打印字节数
打印字符数
打印单词数
使用示例:
[Test@cpst01 ~]$ wc short.txt
10 46 short.txt
[Test@cpst01 ~]$ wc -l short.txt
[Test@cpst01 ~]$ wc -c short.txt
[Test@cpst01 ~]$ wc -m short.txt
[Test@cpst01 ~]$ wc -w short.txt
——计算文件中的行号
系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。
nl [选项]… [文件]…
#nl 常见参数
:指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
:列出行号表示的方法,主要有三种:
-n ln :行号在萤幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w [n]:行号栏位的占用的位数(默认是6位)。
使用示例:
[Test@cpst01 ~]$ nl -n rz -b a -w 4 short.txt
3 sdfdshfh
——文本内容查找
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。
如果模板包括空格,则必须被引用
,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。
grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。
grep [option]
#grep 常见参数
-f &规则文件&
指定规则文件,其内容含有一个或多个规则样式,让grep查
找符合规则条件的文件内容,格式为每行一个规则样式。
-c 计算符合样式的行数。
-i 忽略字符大小写的差别。
-l 列出文件内容符合指定的样式的文件名称
-L 列出文件内容不符合指定的样式的文件名称。
-v 显示不包含匹配文本的所有行。
-n 在显示符合样式的那一行之前,标示出该行的编号。
其中-c -i -v -n 较常用。
#grep 常见pattern模式
grep的规则表达式:
#锚定行的开始 如:'^grep'匹配所有以grep开头的行。
#锚定行的结束 如:'grep$'匹配所有以grep结尾的行。
#匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。
#匹配零个或多个先前字符 如:’ *grep'匹配所有一个或多个空格后紧跟grep的行。
#一起用代表任意字符。
#匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。
#匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
#标记匹配字符,如'\(love\)',love被标记为1。
#锚定单词的开始,如:'\&grep'匹配包含以grep开头的单词的行。
#锚定单词的结束,如'grep\&'匹配包含以grep结尾的单词的行。
#重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。
#重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。
#重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。
#匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。
#\w的反置形式,匹配一个或多个非单词字符,如点号句号等。
#单词锁定符,如: '\bgrep\b'只匹配grep。
使用示例:
#统计passwd中含有bash的行数
[Test@cpst01 ~]$ grep -c "bash" /etc/passwd
grep在后面的日常操作中使用的很频繁,必须掌握。
——按需分割文件
cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。
#cut 常见参数
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边 界,除非也指定了 -n 标志。 -c :以字符为单位进行分割。 -d :自定义分隔符,默认为制表符。(delimiter) -f
:与-d一起使用,指定显示哪个区域。(fields) -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的 最后一个字节落在由 -b 标志的 List 参数指示的&br /&范围之 内,该字符将被写出;否则,该字符将被排除。
--output-delimiter=STRING 指定输出时的分隔符
使用示例:
[Test@cpst01 ~]$ cut -d " " -f 1,2 --output-delimiter=";" short.txt
——对文本内容进行排序
sort – sort lines of text files, 对文本内容按行或者(某一个字段进行排序),sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序(默认)输出。
sort [OPTION]… [FILE]…
#sort 常见参数
忽略每行前面开始出的空格字符。
检查文件是否已经按照顺序排序。
排序时,忽略大小写字母。
依照数值的大小排序。
-o &输出文件&
将排序后的结果存入指定的文件。
以相反的顺序来排序。
-t &分隔字符&
指定排序时所用的栏位分隔字符。
选择以哪个区间进行排序。 n,p
第n个字段到第p个字段,
n.s,p.t 第n个字段的第s个字符到第p个字段的第t个字符
其中的-k -n -r都很重要。
使用示例:
[Test@cpst01 ~]$ cat short.txt
[Test@cpst01 ~]$
sort short.txt
[Test@cpst01 ~]$ sort -k2,2 short.txt
#也可多列排序, -k2,2 -k3,3 先按第二列排, 有相同的则以第三列排
sort -c /etc/passwd
sort /etc/passwd
sort –f /etc/passwd
sort –t ‘:’ –k1,1 /etc/passwd
sort –t ‘:’ –k 4,4n /etc/passwd
sort –t ‘:’ –k 4,4nr –k1,1 /etc/passwd
——对文本内容进行去重计数
uniq – report or omit repeated lines, 报告或者删除重复的行,
接受的输入文件必须是已经排序了的。
uniq [OPTION]… [INPUT [OUTPUT]]
#uniq 常见参数
-c 统计重复行的数量
-d 只打印重复行
-s &N&在比较重复序列时,忽略每行前N各字符
-f &N& 在比较重复序列时,忽略每行前N各字段
-i 在计算重复行时忽略大小写问题
-u 只打印出现一次的行
[Test@cpst01 ~]$cut -d ":" -f 4 /etc/passwd 1&groups.id.txt 2&errlog
[Test@cpst01 ~]$sort
groups.id.txt & groups.id.sort.txt
[Test@cpst01 ~]$sort -k1,1n groups.id.txt -o groups.id.sort.txt
[Test@cpst01 ~]$uniq -c groups.id.sort.txt
——比较两个文件中的内容
comm – compare two sorted files line by line, 按行比较两个已经排好序的文件。主要是用来找文件间的共同行或者独有行。
comm [OPTION]… FILE1 FILE2
#comm 常见参数
-1 不输出FILE1中唯一的行
-2 不输出FILE2中唯一的行
-3 不输出FILE1和FILE2中都有的行
使用示例:
comm -12 FILE1 FILE2
#打印FILE1 FILE2中共有的行
comm -13 FILE1 FILE2
#打印FILE2中d独有的行
comm -23 FILE1 FILE2
#打印FILE1中d独有的行
——文本内容编辑
vim – Vi IMproved, a programmers text editor, vim 是Linux上一款十分强大的文本编辑工具,不同于我们常用的记事本等可视化编辑工具,大部分操作是通过相应的命令来完成的,刚开始可能会不习惯,熟悉后会提高工作效率。
vim配有众多参数,我们只需掌握其中常用的几种。
vim在使用过程中有三种模式:
:在Linux终端中输入“vim 文件名”就进入了一般模式,但不能输入文字。
:在一般模式下按i就会进入编辑模式,此时就可以写程式,按Esc可回到一般模式。
末行命令模式
:在一般模式下按
就会进入命令模式,左下角会有一个冒号出现,此时可以敲入命令并执行。
vim的功能远不止这些,具体可以看下相应的博客。
vim打开文件
vim somefile
在光标前进入
在行首进入
在光标后进入
在行末进入
在光标所在行的下一行行首进入
在光标所在行的上一行行首进入
修改一个单词
删除一个单词
撤销上一次操作
重新上一次操作
光标快速回到文件底部
光标快速回到文件首部
删除光标所在行开始的4行
在光标下一行进行粘贴
删除光标后面的字符都行末
键盘上的HOME END等快捷键依旧起作用
行命令模式
保存并退出
强制保存并退出
不显示行数
set autoindent
set noautoindent
取消自动对齐
1,5s/mail/gmail/g
全局替换(1-5行)
1,$s/mail/gmail/g
——文本的过滤和转换(流处理)
sed – stream editor for filtering and transforming text
sed [-nefr] [动作] 文件
#sed 常见参数
-n 使用安静(silent)模式。在一般 sed 的用法中,所有来自
STDIN的数据一般都会被列出到终端上。但如果加上 -n 参数
后,只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
-e 直接在命令列模式上进行 sed 的动作编辑;
-f 直接将 sed 的动作写在一个文件内, -f filename 则可以运行
filename 内的 sed 动作;
-r sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正
规表示法语法)
-i 直接修改读取的文件内容,而不是输出到终端。
动作说明: [n1[,n2]]function n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在 10 到 20 行之间进行的,则是『 10,20[动作行为] 』 ,不设置n1 和 n2 则表示是对整个流进行处理。
a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦! 其中g为全行匹配替换
使用示例:
sed 4d comm.1.txt 或者 sed ‘4d’ comm.1.txt
删除 comm.1.txt中的第四行后再打印出来(原文件内容不变)
sed -n '/z/p' comm.1.txt
只打印含有z的行
sed -e 's/z/replace/' comm.1.txt
替换每行第一个出现的z为replace
sed –n ‘1,3p’ comm.1.txt
只打印1-3行内容
5.系统信息操作
fdisk、df、du
——查看系统磁盘空间信息
fdisk 命令是root用户用来查看系统分区情况和修改分区的命令
df – report file system disk space usage,报告磁盘使用情况
du – estimate file space usage,估计文件空间使用情况
df –h 以人类易懂的方式显示磁盘使用情况
du ./ -h以人类易懂的方式显示当前路径下的文件大小情况(明细)
du ./ -sh以人类易懂的方式汇总当前路径下的文件大小情况
使用示例:
[Test@cpst01 ~]$ df -h
Filesystem
Used Avail Use% Mounted on
/dev/mapper/vg_cpst01-lv_root
1% /dev/shm
/dev/mapper/vg_cpst01-lv_home
/dev/mapper/vg_cpst01-lv_var
[Test@cpst01 ~]$ du ./ -sh
——查看系统cpu配置情况
lscpu – display information about the CPU architecture
使用示例:
[Test@cpst01 ~]$ lscpu
Architecture:
CPU op-mode(s):
32-bit, 64-bit
Byte Order:
Little Endian
On-line CPU(s) list:
Thread(s) per core:
Core(s) per socket:
Socket(s):
NUMA node(s):
Vendor ID:
GenuineIntel
CPU family:
Virtualization:
L1d cache:
L1i cache:
NUMA node0 CPU(s):
0,2,4,6,8,10,12,14,16,18,20,22
NUMA node1 CPU(s):
1,3,5,7,9,11,13,15,17,19,21,23
——查看系统内存使用情况
Display amount of free and used memory in the system, 显示系统中的中内存和使用的内存。
#free 常见参数
-b 以byte形式展示
-k 以kb形式展示
-m 以mb形式展示
-g 以Gb形式展示
使用示例:
[Test@cpst01 ~]$ free -g
-/+ buffers/cache:
——查看系统实时运行状态
有时我们很关心系统正在运行什么程序以及系统现在的存储内存消耗等,这时就需要top命令来实时监测系统信息。首先来看下top命令的界面,也就是系统的一些状态信息:
任务区域中每列的具体含义:
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
top命令运行后的相关指令:
Global_defaults
’A’ - Alt display
Off (full-screen)
* ’d’ - Delay time
3.0 seconds
’I’ - Irix mode
(no, ’solaris’ smp)
* ’p’ - PID monitoring
* ’s’ - Secure mode
Off (unsecured)
’B’ - Bold disable
Summary_Area_defaults
’l’ - Load Avg/Uptime
(thus program name)
’t’ - Task/Cpu states
(1+1 lines, see ’1’)
’m’ - Mem/Swap usage
(2 lines worth)
’1’ - Single Cpu
(thus 1 line if smp)
Task_Area_defaults
’b’ - Bold hilite
(not ’reverse’) running pid
* ’c’ - Command line
Off (name, not cmdline)
* ’H’ - Threads
Off (show all threads)
* ’i’ - Idle tasks
(show all tasks)
’R’ - Reverse sort
(pids high-to-low)
* ’S’ - Cumulative time
Off (no, dead children)
’x’ - Column hilite
Off (no, sort field)
’y’ - Row hilite
(yes, running tasks)
’z’ - color/mono
Off (no, colors)
针对top命令掌握常用的几个指令即可,如b,c,1等,更多信息请看下面的这篇博客:
——查看当前运行程序信息
ps – report a snapshot of the current processes. 报告当前进程的快照。ps命令是Process Status的缩写。
ps [options]
#ps 常见参数
显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
-e 等于“-A”
显示环境变量
显示程序间的关系
显示当前终端的进程
显示当前终端的所有程序
指定用户的所有进程
-au 显示较详细的资讯
-aux (或 aux)显示所有包含使用者的进程
使用示例:
——杀掉某个进程
有时需要终止一些错误程序的运行就需要利用到kill命令,看其单词意思就知道它的功能。
kill [ -s signal | -p ] [ -a ]
kill -l [ signal ]
#kill 常见参数
-s:指定发送的信号。
-p:模拟发送信号。
-l:指定信号的名称列表。
pid:要中止进程的ID号。
signal:表示信号。
使用示例:
中止一个进程标识号为324的进程:
进程标识号(PID)可以通过top、ps等命令获取
强行中止一个进程标识号为324的进程:
#kill -9 324
——查看当前系统时间与日历
date和cal命令平时使用的也不是很多,但有时可以用来计算程序运行花了多长时间,这里简单介绍下:
date – print or set the system date and time
cal – displays a calendar
date [参数]… [+格式]
cal [-smjy13] [[[day] month] year]
详细内容可参考下面的博客:
使用示例:
[Test@cpst01 ~]$ date
[Test@cpst01 ~]$ date
4 16:17:44 CST 2015
[Test@cpst01 ~]$ date '+%c'
Thu 04 Jun :51 PM CST
[Test@cpst01 ~]$ date '+%d'
[Test@cpst01 ~]$ date '+%y'
[Test@cpst01 ~]$ date '+%m'
[Test@cpst01 ~]$ cal -3
Su Mo Tu We Th Fr Sa
Su Mo Tu We Th Fr Sa
Su Mo Tu We Th Fr Sa
9 10 11 12 13
11 12 13 14 15 16
14 15 16 17 18 19 20
12 13 14 15 16 17 18
18 19 20 21 22 23
21 22 23 24 25 26 27
19 20 21 22 23 24 25
25 26 27 28 29 30
26 27 28 29 30 31
[Test@cpst01 ~]$
——系统自带简易计算器
bc是一个很实用的命令,简易的计算器程序。
bc – An arbitrary precision calculator language
用法:bc [ -hlwsqv ] [long-options] [ file … ]
#bc 常见参数
-l 加载标准数学库(三角函数、指数、log等)
-q 不在启动时打印一些欢迎信息
运算符: + – / * % ^
调用标准数学库:s(x)、c(x)、a(x)、l(x)、e(x) 三角函数 指数函数等。
设置结果保留位数:启动bc后, 键入scale=4回车 设置4位小数点,
退出bc:quit
使用示例:
[Test@cpst01 ~]$ bc -lq
[Test@cpst01 ~]$
ifconfig、ping、route
——查看系统网络信息
这些命令主要是用来查看系统的网络信息,一般是系统管理员需要掌握的,这里简单了解下:
ifconfig – configure a network interface
ping, ping6 – send ICMP ECHO_REQUEST to network hosts
route – show / manipulate the IP routing table
使用示例:
[Test@cpst01 ~]$ ifconfig
Link encap:Ethernet
HWaddr D4:AE:52:91:F8:10
inet addr:xxx.xxx.xxx.xxx
Bcast:xxx.xxx.xxx.xxx
Mask:255.255.255.0
inet6 addr: fe80::d6ae:52ff:fe91:f810/64 Scope:Link
UP BROADCAST RUNNING MULTICAST
RX packets: errors:0 dropped:0 overruns:0 frame:1
TX packets:2389883 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes: (1.8 GiB)
TX bytes: (3.0 GiB)
Interrupt:16
Link encap:Ethernet
HWaddr D4:AE:52:91:F8:11
inet addr:192.168.12.12
Bcast:192.168.12.255
Mask:255.255.255.0
UP BROADCAST MULTICAST
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b)
TX bytes:0 (0.0 b)
Interrupt:17
Link encap:Local Loopback
inet addr:127.0.0.1
Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING
RX packets:62 errors:0 dropped:0 overruns:0 frame:0
TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes: KiB)
TX bytes: KiB)
[Test@cpst01 ~]$ ping -c 5
PING www. (119.75.217.109) 56(84) bytes of data.
bytes from 119.75.217.109: icmp_seq=1 ttl=52 time=40.0 ms
bytes from 119.75.217.109: icmp_seq=2 ttl=52 time=20.3 ms
bytes from 119.75.217.109: icmp_seq=3 ttl=52 time=19.9 ms
bytes from 119.75.217.109: icmp_seq=4 ttl=52 time=43.2 ms
bytes from 119.75.217.109: icmp_seq=5 ttl=52 time=25.7 ms
--- www. ping statistics ---
packets transmitted, 5 received, 0% packet loss, time 4028ms
rtt min/avg/max/mdev = 19.904/29.878/43.257/9.898 ms
——从网上下载数据
有人可能会问如何在Linux上从网络上下载一下文件什么的呢,Linux下有很多这样的命令,这里介绍下常用的wget命令。这里大家掌握了这个命令后,就不用在windows下下载,再从windows上传到服务器 这么麻烦了。比如后面做RNA-seq分析需要用到的tophat软件,其下载地址为 http://ccb.jhu.edu/software/tophat/downloads/tophat-2.0.14.Linux_x86_64.tar.gz,那么如何直接下载到服务器呢?
#wget 常见参数
-q 关闭日志输出
-v 打开日志输出
-c 接着下载没下载完的文件
-i [file] 从文件中获取下载地址,依次进行下载(一行一个地址)
#有的下载可能需要用户名和密码,下面对应的参数可以解决这个问题
--user=user
--password=password
#指明用户名和密码,也可以根据协议不同使用不同的参数,如ftp和http
--ftp-user ,--ftp-password options for FTP connections
--http-user ,--http-password options for HTTP connections.
使用示例:
wget http://ccb.jhu.edu/software/tophat/downloads/tophat-2.0.14.Linux_x86_64.tar.gz
bg、fg、jobs
——让程序前后台切换运行
有时候某个命令的
运行时间过长
,我们想让这个程序在后台运行,同时将
标准错误输出重定向到文件
,我们就可以利用前台的操作窗口进行其它操作,这时就需要将前台运行的程序切换到后台运行(好比把windows上播放视频的程序从桌面的最上面窗口缩小到后台运行,我们可以在桌面上运行其它程序,比如编辑word等。)(
等同于在程序最后面添加
有时候又想看看后台到底有多少程序在运行呢?(
有时候又想把后台运行的程序切换到前台运行,实时观察运行状态。(
回车运行某个程序
[Ctrl + z]
参看 stopped前面的 job id, 如 1 2 3等
bg job-id : #[bg 1 回车]
jobs 查看当前被推至后台运行的程序
fg job-id # [fg 1 回车]
将job id 为1 的后台程序切换至前台运行
使用示例:
——查看命令的位置
which命令是用来查看某个命令的具体位置是在哪里,比如pwd命令其实是位于/bin/pwd。
使用方法:which [参数] 命令,这简单介绍下-a参数,即列举出所有符合条件的命令的位置,因为有可能系统有多个同命令的命令,只是所在目录不同,后面会在环境变量中介绍。
——显示谁在登陆、在干什么
who – show who is logged on
w – Show who is logged on and what they are doing.
这个命令用的也不是很多,如果你关系系统的运行情况则可以使用该命令查看下。
使用示例:
[Test@cpst01 ~]$ w
:44:28 up 8 days,
load average: 0.49, 0.61, 0.56
122.205.65.107
[Test@cpst01 ~]$ who
17:40 (122.205.65.107)
——查看命令函数等帮助文档
man – format and display the on-line manual pages, 主要是用来显示一些命令和函数等的帮助文档。
man [参数] name
#man 常用参数
C语言库函数
使用示例:
[Test@cpst01 ~]$ man pwd
User Commands
pwd - print name of current/working directory
pwd [OPTION]...
DESCRIPTION
Print the full filename of the current working directory.
-L, --logical
use PWD from environment, even if it contains symlinks
-P, --physical
avoid all symlinks
--help display this help and exit
[Test@cpst01 ~]$ man sin
#或者man 3 sin
Linux Programmer’s Manual
sin, sinf, sinl - sine function
#include &math.h&
double sin(double x);
float sinf(float x);
long double sinl(long double x);
Link with -lm.
6. 重要备注
——命令重命名
alias 为系统内置命令,用来简化负责的操作或者组合,依个人习惯不同,别名可以自己定。
比如,我们经常要利用ls -lh命令来查看文件及目录的一些情况,但是每次都这么输入就很麻烦,那有没有一个简单的办法来解决这个问题呢? alias就行:
[Test@cpst01 ~]$ alias lh='ls -lh'
#运行这个命令后那么lh这个虚拟的命令就相当于ls –lh。这个alias可以定制其它命令别名。
[Test@cpst01 ~]$ lh
#lh ./ 相当于ls –lh ./
total 1.4M
-rw-r--r-- 1 Test Test
76K Jan 20 11:35 000_pTRE-IRES.dna
drwxrwxr-x 2 Test Test 4.0K Jun
8 17:55 123
-rw-r--r-- 1 Test Test
54 Jan 17 20:50 1234.txt
drwxrwxr-x 2 Test Test 4.0K Jun
9 20:41 2015
——管道操作符
管道操作符 | ,道是Linux中很重要的一种通信方式, 是把一个程序的
直接连接到另一个程序的
用于串联一系列的操作
ls –l | sort –k5,5n
#对当前目录下的文件和目录安装大小进行升序排序。
grep -i 'cotton' title.txt | head | sort -t ":" -k2,2 | tail
ps aux | grep "du"
#查看du进程的信息
ls -l | sort -k5,5n
#对当前目录下的文件目录按大小排序
——环境变量设置
让它知道,别让它来猜
系统环境变量就是系统中一些约定俗称的变量,系统通过这些变量的值来搜索一些东西,好比冰箱(Fridge)是一个环境变量,里面的物品是一些元素(Element),我们可以根据自己的需求在冰箱中去搜索自己想要的东西。
Linux 内置环境变量:
HOME 保存自己的主目录
PATH 保存各种路径变量
PWD 保存用户当前所在目录
来显示变量内容
echo $HOME
来设置临时变量(一般是在本次登陆有效,关闭连接后该变量消失)
[Test@cpst01 ~]$ export TMP="MY TMP"
[Test@cpst01 ~]$ echo $TMP
而每个用户主目录下都有一个.bashrc隐藏文件(不同Linux发行版其文件名称可能不一样)用来记录用户的环境变量配置(不止环境变量配置),
当用户登录远程服务器时
执行这个文件来完成
会话的一些
基本环境配置
(也可以利用source ~/.bashrc 来临时更新环境配置)。所以可以将export命令写入.bashrc文件来保证每次登陆时都能设置变量。
~/.bashrc文件中存放的其实就是一些shell命令
export命令用来设置相应的环境变量, #开头的行表示是注释信息
重新登录或者执行 source ~/.bashrc来应用
修改后的配置
[Test@cpst01 ~]$ vim .bashrc
[Test@cpst01 ~]$ source .bashrc
[Test@cpst01 ~]$ more .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
# User specific aliases and functions
alias lh="ls -lh"
screen、nohup
——程序不中断运行
很多朋友可能在实际的linux服务器管理工作中,经常会为一些长时间运行的任务而头疼,当有事离开我们
关掉了连接终端断开
,刚才运行着的程序也
自动被中断
。下面就介绍下如何让我们的程序在断开SSH后继续在后行运行的方法。
一关闭,程序就不再运行了?
元凶:SIGHUP 信号
关掉窗口/断开连接
会使得正在运行的
后台运行命令
能否将程序摆脱
进程组控制呢
关闭,后台程序继续运行?
我们做一个试验:
find / -name '*http*'
利用ctrl+d 注销以后 再进入系统
会不会看见这个命令再运行?
命令被中止了
那么怎么去解决上述问题呢?
让程序在后台继续运行
常用命令格式:
./home/nginx.sh
注:如果运行成功刚
重定向到当前目录的
文件中,查看此文件,可以了解运行的进度;
也可以重定向
标准错误输出:
somepragram
[options] &log 2&
让程序在后台执行
screen是一个可以在多个进程之间
利用(复用)
一个物理终端的窗口管理器。screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,
窗口中就像操作一个真实的
telnet/SSH
连接窗口那样
创建screen会话
#创建一个名为wordname的会话
暂时离开,保留screen会话中的任务或程序
当需要临时离开时(会话中的程序
,仍在运行)可以用快捷键Ctrl+a+d(
,依次再按
列出当前的会话列表
恢复screen会话
当回来时可以再执行执行:
即可恢复到离开前创建的会话的工作界面。
关闭screen会话
首先在服务器上执行screen -S test创建一个screen的会话,观众可以链接到 远程服务器执行
screen -x test
观众的屏幕上就会出现和演示者同步的内容。
通过上面一系列的生物信息学常用Linux操作命令的讲解,相信大家对生物信息学的基本分析环境有了一个认识,大家也能体会将命令分门别类的学习效果更加明显。大家在学习的过程中也要逐步学会各种命令间的共同之处,这样可以举一反三,触类旁通。关键的一点还是要多加练习,慢慢领会各种命令的功能与使用诀窍。
计算机、数学、生物混合男
原文地址:, 感谢原作者分享。
您可能感兴趣的代码}

我要回帖

更多关于 wwindows 优化大师 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信