【shell】Shell命令合集(0)
C
cat zdd 浏览文件zdd的内容
cat zdd1 zdd2 浏览多个文件的内容
cat -n zdd浏览文件zdd的内容并显示行号
cd 回到起始目录,也即刚登陆到系统的目录,cd后面无参数
cd / 回到根目录
cd .. 返回上一级目录
cd - 返回到最近使用的目录
D
df -kh 查看磁盘信息
du -sh foldername 查看文件夹大小,-h表示以human readable格式显示大小,-s表示累加各个文件的大小。
H
history 显示命令历史记录
hostname 显示当前登录的主机名
L
ls -al 列出所有文件的完整信息,每行一个文件
ls -tl 按最后修改时间排序
ls -ul 按最后访问时间排序
ls -R 递归现实子目录中的文件及文件夹,这个命令配合grep可以方便的实现查找,比如在当前目录及子目录下查找文件zdd,ls -R | grep zdd
ls -F | grep / 只列出目录
less 分屏显示文件,按空格向下查看,并可使用上下箭头前后回看。按q键退出。
M
more 分屏显示文件,按空格向下查看,不支持回看,按q键退出。
man ls 查看ls命令的帮助,如果帮助有多页
空格 向下翻页
b 向上翻页
q 退出帮助
O
od 查看文件的ASCII编码。
P
pwd 显示当前目录
ps 列出当前用户的进程
ps -ef 以完整信息列出所有进程
R
rm -rf zdd 删除目录zdd及其子目录,即使目录不空
rm -rf zdd/* 删除目录zdd下的所有内容,但不删除zdd本身
rm -rf * 删除当前目录下所有文件,包括子文件加及其中的文件,-r表示递归,-f表示强制删除,不询问。
rmdir zdd 删除空目录zdd
mkdir zdd 创建目录zdd
S
set 查看已定义变量
ssh hostname 登录到hostname
T
tar [option] file or dir
tar -xvf zdd.tar 将zdd.tar解压,解压后将产生zdd文件夹,里面包含解压后的文件 x表示解压,v表示输出解压信息,f表示操作普通文件
tar -cvf tmp.tar tmp 将文件夹tmp打包成tmp.tar
tar -rvf tmp.tar zzz 将文件zzz追加到tmp.tar中
type xxx 查看xxx所在的路径。和which有何区别?
touch命令
touch [acm] -t time file
这个命令用来修改文件的时间,a-access time, m-modification time c-do not create if file not exists
如果不指定时间,则使用当前的系统时间,如果文件不存在,且未指定-c那么将创建新的文件。可以使用这个方法快速创建文件。time的格式如下
[[CC]YY]MMDDhhmm[.SS]
touch abc 如果文件abc存在,则更新其时间为当前时间,否则创建它
touch abc -a -t
touch -m -t 201101230621 abc
W
who 查看有哪些人登陆了系统
who am i 查看自己的账户信息
which ls 查看ls程序所在的路径。
Z
zip 压缩
zip [options] dest_files source
zip -r9 ~/zdd /home/zdd/* 将目录/home/zdd下的所有文件压缩并放入当前目录下名为zdd。-r表示递归处理文件夹中的文件,9表示最大压缩率。
unzip 解压缩
unzip -d ~/zdd zdd.zip 将zdd.zip解压到当前目录下的zdd目录中,-d表示指定解压目录。
gzip 压缩/解压缩
gzip -d error_log.gz 将error_log.gz解压缩,-d表示解压缩,解压缩后error_log.gz将不复存在。
其他
在终端上翻页(Putty窗口也可以)
向上翻页 Shift+PageUp
向下翻页 Shift+PageDown
---------------------------------------------解释------------------------------
1、 ls: 类似于dos下的dir命令
ls最常用的参数有三个: -a -l -F。
ls –a
Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来。
ls –l
该参数显示更详细的文件信息。
ls –F
使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。
2、cd: 用于切换用户当前工作目录
cd aaa 进入aaa目录
cd 命令后不指定目录,会切换到当前用户的home 目录
cd ~ 作用同cd后不指定目录,切换到当前用户的home 目录
cd - 命令后跟一个减号,则会退回到切换前的目录
cd .. 返回到当前目录下的上一级目录
3、pwd:用于显示用户当前工作目录
4、mkdir 和 rmdir
midir:创建目录 rmdir:删除目录
两个命令都支持-p参数,对于mkdir命令若指定路径的父目录不存在则一并创建,对于rmdir命令则删除指定路径的所有层次目录,如果文件夹里有内容,则不能用rmdir命令
如下:
mkdir -p 1/2/3
rmdir -p 1/2/3
5、cp:复制命令
复制一个文件到另一目录:cp 1.txt ../test2
复制一个文件到本目录并改名:cp 1.txt 2.txt
复制一个文件夹a并改名为b:cp -r a b
6、mv:移动命令
将一个文件移动到另一个目录:mv 1.txt ../test1
将一个文件在本目录改名:mv 1.txt 2.txt
将一个文件一定到另一个目录并改名:mv 1.txt ../test1/2.txt
7、rm命令
rm命令用于删除文件,与dos下的del/erase命令相似,rm命令常用的参数有三个:-i,-r,-f。
–i :系统在删除文件之前会先询问确认,用户回车之后,文件才会真的被删除。需要注意,linux下删除的文件是不能恢复的,删除之前一定要谨慎确认。
–r:该参数支持目录删除,功能和rmdir命令相似。
–f:和-i参数相反,-f表示强制删除
8、du、df命令
du命令可以显示目前的目录所占用的磁盘空间,df命令可以显示目前磁盘剩余空间。
如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况。
du -hs 指定目录 查看指定目录的总大小
du -hs ./* 查看当前目录下的所有文件夹和文件的大小
这两个命令都支持-k,-m和-h参数,-k和-m类似,都表示显示单位,一个是k字节一个是兆字节,-h则表示human-readable,即友好可读的显示方式。
9、cat命令
cat命令的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。用法如下:
cat file1 显示file1文件内容
cat file1 file2 依次显示file1,file2的内容
cat file1 file2 > file3 把file1, file2的内容结合起来,再“重定向(>)”到file3文件中。
">"是右重定向符,表示将左边命令结果当成右边命令的输入,注意:如果右侧文件是一个已存在文件,其原有内容将会被清空,而变成左侧命令输出内容。如果希望以追加方式写入,请改用">>"重定向符。
如果">"左边没有指定文件,如: cat >file1,将会等用户输入,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会将用户的输入内容写入file1。
10、echo命令
echo命令的使用频率不少于ls和cat,尤其是在shell脚本编写中。
语法:echo [-ne][字符串]
功能:echo会将输入的字符串送往标准输出,输出的字符串间以空白字符隔开, 并在最后加上换行符。
参数:
-n 显示字串时在最后自动换行
-e 支持以下格式的转义字符, -E 不支持以下格式的转义字符
/a 发出警告声;
/b 删除前一个字符;
/c 最后不加上换行符号;
/f 换行但光标仍旧停留在原来的位置;
/n 换行且光标移至行首;
/r 光标移至行首,但不换行;
/t 插入tab;
/v 与/f相同;
// 插入/字符;
/nnn 插入nnn(八进制)所代表的ASCII字符;
示例:
oracle@hjtest:~/hgd> echo "123" "456"
123 456
oracle@hjtest:~/hgd> echo "123/n456"
123/n456
oracle@hjtest:~/hgd> echo -e "123/n456"
123
456
oracle@hjtest:~/hgd> echo -E "123/n456"
123/n456
oracle@hjtest:~/hgd> echo -E "123///456"
123//456
oracle@hjtest:~/hgd> echo -e "123///456"
123/456
oracle@hjtest:~/hgd> echo -e "123/100456"
123@456
注意事项:
在Linux使用的bash下,单引号’’和双引号是有区别的,单引号忽略所有的转义,双引号不会忽略以下特殊字符:
Dollar signs ($),Back quotes (`),Backslashes (/),Excalmatory mark(!)
示例如下:
oracle@hjtest:~> echo "`TEST`"
-bash: TEST: command not found
oracle@hjtest:~> echo '`TEST`'
`TEST`
oracle@hjtest:~> echo "$TEST"
oracle@hjtest:~> echo '$TEST'
$TEST
oracle@hjtest:~> echo "//TEST"
/TEST
oracle@hjtest:~> echo '//TEST'
//TEST
oracle@hjtest:~> echo "Hello!"
echo "Hello"
Hello
oracle@hjtest:~> echo 'Hello!'
Hello!
11、more,less,clear
n more,less命令
这两个命令用于查看文件,如果一个文件太长,显示内容超出一个屏幕,用cat命令只能看到最后的内容,用more和less两个命令可以分页查看。more指令可以使超过一页的文件内容分页暂停显示,用户按键后才继续显示下一页。而less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,更方便浏览阅读。
less的常用动作命令:
回车键 向下移动一行;
y 向上移动一行;
空格键 向下滚动一屏;
b 向上滚动一屏;
d 向下滚动半屏;
h less的帮助;
u 向上洋动半屏;
w 可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;
g 跳到第一行;
G 跳到最后一行;
p n% 跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示;
/pattern 搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词;
v 调用vi编辑器;
q 退出less
!command 调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件;
n clear命令
clear命令是用来清除当前屏幕显示的,不需任何参数,和dos下的cls命令功能相同。
12、head,tail
n head和tail命令都用于查看文本文件,区别在于: head显示文件的头n行,tail显示文件的尾n行,缺省情况n都为10行。可以通过-n方式指定行数,如:
head -100 file和tail -100 file分别表示显示文件头100行和尾100行内容。
n tail -f命令可以实时查看文件新增内容。
13、wc命令
该命令用于统计指定文件中的字节数、字数、行数。该命令各选项含义如下:
-l 统计行数
-w 统计字数
-c 统计字节数
这些选项可以组合使用。输出列的顺序和数目不受选项的顺序和数目的影响。总是按下述顺序显示并且每项最多一列。
行数、字数、字节数、文件名
如果命令行中没有文件名,则输出中不出现文件名。
例如:
oracle@hjtest:~> wc 1.txt 2.txt
460 1679 16353 1.txt
300 1095 10665 2.txt
760 2774 27018 总用量
oracle@hjtest:~> wc -l 1.txt
460 1.txt
缺省参数为-lcw,即wc file1 file2命令的执行结果与上面一样。
14、grep 命令
grep是(global search regular expression(RE) and print out the line的缩写,用于从文件面搜索包含指定模式的行并打印出来,它是一种强大的文本搜索工具,支持使用正则表达式搜索文本。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被””引用,模板后的所有字符串被看作文件名。搜索结果送到屏幕,不影响原文件内容。
grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。
示例:
$ ls -l | grep '^a'
通过管道过滤ls -l输出的内容,只显示以a开头的行。
$ grep 'test' d*
显示所有以d开头的文件中包含test的行。
$ grep 'test' aa bb cc
显示在aa,bb,cc文件中匹配test的行。
$ grep '[a-z]/{5/}' aa
显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
$ grep 'w/(es/)t.*/1' aa
如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(/1),找到就显示该行。如果用egrep或grep -E,就不用"/"号进行转义,直接写成'w(es)t.*/1'就可以了。
15、man,logout命令
man命令
man是manual的缩写,相当于Unix/Linux的联机Help,每个系统命令和调用都有非常详细的说明,绝大多数都是英文。如:man ls即是查看ls命令的使用说明,一般还有另一种方法用来查看帮助,如:ls –help,这种方式绝大多数命令都支持。
logout命令
该命令用于退出系统,与login命令对应。
16、管道和xargs
管道:
利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
注意:管道左边命令的输入作为管道右边命令的输入(命令的输入是一定的),不是参数,并不是所有命令都支持管道
例子:ls | grep a 查看当前目录下名称包含a的文件或文件夹
xargs:
大多数 Linux 命令都会产生输出:文件列表、字符串列表等。但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?例如,file 命令显示文件类型(可执行文件、ascii 文本等);你能处理输出,使其仅显示文件名,目前你希望将这些名称传递给 ls -l 命令以查看时间戳记。xargs 命令就是用来完成此项工作的。
注意:find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去
例子:
1、在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到/tmp/core.log 文件中:
$ find / -name "core" -print | xargs echo "" >/tmp/core.log
2、当一个目录下文件太多时,直接用rm * 命令会包参数过长,用如下方法可以全部删除
$ls | xargs rm
17、basename 和 dirname
basename用于查看文件不含路径的名字,dirname则用于查看文件路径,使用效果我们测试一下便知:
> basename /home/hj/1.txt
1.txt
> dirname /home/hj/1.txt
/home/hj
> basename 1.txt
1.txt
> dirname 1.txt
.
18、不带任何参数的set命令将显示shell的全部变量
【shell】Shell命令合集(0)的更多相关文章
- [转载]VIM命令合集
Vim命令合集 http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 命令历史 以:和/开头的命令都有历史纪录, ...
- linux-Vim命令合集
Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...
- 05-Vim命令合集
Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...
- Vim命令合集(四)
Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...
- 【转】Vim命令合集
Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...
- Timesten 日常管理命令合集
Timesten 日常管理命令合集 以下所有操作都是基于TT 11 版,早前版本本人没用过,命令是否适用我不清楚啊! 各类服务管理 一.TT的启停 停服务: 1.停止复制与cache 进程: ...
- Linux常用命令合集
常用命令合集 命令选项和参数 Linux中的命令格式为:command [options] [arguments] //中括号表示可选的,即有些命令不需要选项也不需要参数,但有的命令在运行时需要多个 ...
- Git 经常使用命令合集
====== Git 经常使用命令合集 ====== === 1.Git 文档 === Git 中文文档观看地址:http://git.oschina.net/progit/ === ...
- Git&GitHun 命令合集
Git&GitHun 命令合集 基本操作 git --version 查看git版本信息 git add 本地库初始化 设置签名 git config user.name xxx git co ...
随机推荐
- 【PHP】PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
php编程中有时候会需要用上排序,在这里简单地整理一下集中sort的区别,方便查询 sort() 函数用于对数组单元从低到高进行排序. rsort() 函数用于对数组单元从高到低进行排序. asort ...
- Gym - 101981D Country Meow(模拟退火)
题意 三维空间有\(n\)个点,找到另外一个点,离所有点的最大距离最小.求这个距离. 题解 \(1\).最小球覆盖,要找的点为球心. \(2\).模拟退火. 还是补一下模拟退火的介绍吧. 模拟退火有一 ...
- 阿里云服务器+Tomcat项目+mysql 发布项目全过程
这个博客管理系统折腾我好几天了. 总结一下整个过程吧! 1.首先这个博客在tomcat下 windows系统可以完全跑起来了,无论是前台或者后台都能实现所有的功能. 2.然后我买了一个域名jasonj ...
- CodeForces 768E Game of Stones 打表找规律
题意: 在经典Nim博弈的基础上增加了新的限制:如果从这堆石子中移走\(x\)个石子,那么之后就不能再从这堆移走\(x\)个. 分析: 因为之前的操作会对后面的转移有影响,所以在保存状态时还要记录哪些 ...
- laravel5.2总结--ORM模型
ORM模型简介 1>什么是ORM? ORM,即 Object-Relational Mapping(对象关系映射),它的作用是在关系型数据库和业务实体对象之间作一个映射,这样,我们在操作具体的 ...
- Android TV 开发(2)
本文来自网易云社区 作者:孙有军 首先来看看拨号界面的配置代码: <LinearLayout xmlns:android="http://schemas.android.com/apk ...
- 极简Node教程-七天从小白变大神(二:中间件是核心)
当我们只引入express时,前述的那些功能都是没有启用的.那么,如何将这些功能添加进来呢?express通过其中间件机制实现了这些功能的管理.每一个中间件对应一个功能,而中间件可以是第三方库,也可以 ...
- 微信公众开发api接口
简介 微信公众平台消息接口为开发者提供了一种新的消息处理方式.微信公众平台消息接口为开发者提供与用户进行消息交互的能力.对于成功接入消息接口的微信公众账号,当用户发消息给公众号,微信公众平台服务器 ...
- 无法启动此程序,因为计算机中丢失OgreMain_d.dll。尝试重新安装该程序以解决此问题。
这个问题很奇怪啊,不明白什么原因? 打开VS2010,打开项目,运行,就提示”无法启动此程序,因为计算机中丢失OgreMain_d.dll.尝试重新安装该程序以解决此问题.“ 然后就去配置环境变量,包 ...
- 07 JVM 是如何实现反射的
Java 中的反射 反射是 Java 语言的一个相当重要的特性,它允许正在运行的 Java 程序观测,甚至是修改程序的动态行为. 我们可以通过 Class 对象枚举该类中的所有方法,还可以通过 Met ...