您的位置:首页 > 运维架构 > Linux

linux下的基本命令和终端下的常用快捷键

2014-11-15 22:52 411 查看
常用命令:

表1-1

命令

说明
目录和文件处理:

在讲解之前,我们先认识一下几个好玩的符号

. :小点活在当下,即当前目录。例如:./jie_work执行当前目录下的jie_work文件

..:两点跑上去,既到当前的上一级目录。举个例子,命令cd..修改当前工作目录到上一级目录

~ :水波带我回家,即/home/我的登录名。例如我的登录名为zhangjie,cd
~命令就是cd /home/zhangjie。当然你直接输入cd,也有同样功效

-:减号返回上次的工作目录。例如,当前的工作目录为dira,你通过cd命令切换到了dirb目录,那么现在你输入cd -,就是切换到了上次的工作目录,也就是dira,再输入一次就又切换到了dirb,因为这是dirb相对于dira来说已经是上一次的工作目录了。
mkdir
建立目录

用法:mkdir [OPTION] DIRECTORY…

例:mkdir fangru
ls
列出目录下的内容

用法:ls [OPTION]…[FILE]…

例:ls -al fangru
cd
更换工作目录

用法:cd [DIRECTORY]

例:cd fangru
pwd
显示当前工作目录

用法:pwd
vim
增强版文本编辑器

用法:vim [OPTION] [file]

例:vim helloworld.c
cp
拷贝文件及其目录

用法:cp [OPTION]... SOURCE DEST

例:cp jie.txt jie.bak
mv
移动(重命名)文件

用法:mv [OPTION]…SOURCE DEST

例:mv jieold jienew
rm
删除文件或目录

用法:rm [OPTION]…FILE…

例:rm -rf jie_dir
find
在目录及其子目录查找文件

用法:find [OPTION] [path] [pattern]

例:find -name jie*.txt
history
显示最近使用过的命令

用法:history
文本处理:

在讲解之前,有必要说明一下模式的定义。

模式是一种表达式,不列出所有元素,而是给出一系列字符串的一种精确描述

例如:ab*cd匹配了以ab开始和cd结束的一系列字符串
cat
连结文件打印到标准输出

用法:cat [OPTION] [FILE]…

例:cat pic.png love.txt > pic1.png

还记得那个命令行的故事吧?
echo
显示一行文本

用法:echo [OPTION] [string]

例:echo $HOME
grep
搜索特定的内容并将含有这些内容的行标准输出

用法:grep [OPTION] PATTERN [FILE]

例:grep -i Jagen magicLinux.txt
wc
统计指定文件中的字节数、字数、行数,并将统计结果显示输出

用法:wc [OPTION]…[FILE]

例:wc -L magicLinux.txt
sort
对文件中的各行进行排序

用法:sort [OPTION]…[FILE]

例:sort -r magicLinux.txt
系统管理:

在讲解这类命令之前,先谈谈文件权限的定义。Linux系统上文件有三种权限-读、写和执行。敲入ls
-l命令后,我们会发现有10个字母表示文件类型和权限信息:第一个字母是文件类型,d代表目录,-代表普通文件;接下了的每三个字母为一组,分别代表拥有者(owner)群组成员(groups)其他人(others)的读、写和执行权限。

例:drwxrw-r--意味着这是一个目录,拥有者拥有读、写和执行三种权限,群组成员拥有读写权限,其他人只拥有可读权限。

权限位还可以用相应的数值来代表,读-4、写-2、执行-1,这些数字或它们的和就代表一个角色的权限。

例:rwxrw-r-- =
764

673 = rw-rwx-wx
chmod
控制用户对文件的权限

用法:chmod [OPTION] [MODE] [FILE]

例:chmod 764 count.sh
chown
改变档案的拥有者

用法:chown [OPTION]…OWNER[:[GROUP]] FILE

例:chown jie magicLinux.txt
su
su是切换到其他用户,但是不切换环境变量

su - 是完整的切换到一个用户环境

要知两者的区别,用export命令一查便知。

用法:su [OPTION] [LOGIN]

例:su zhangjie
passwd
更改使用者的密码参数

/etc/passwd

存储的是操作系统用户信息,该文件为所有用户可见

/etc/shadow

被称为/etc/passwd的影子文件。它们之间的内容是互补的。shadow内容包括用户及被加密的密码以及其它/etc/passwd不能包括的信息,比如用户的有效期限等

用法:passwd [OPTION]

例:passwd zhangjie
who
显示目前登入系统的用户信息

用法:who [OPTION]

例:who -b
进程管理
ps
强悍的进程查看命令

用法:ps [OPTION]

例:ps -aef
kill
删除执行中的程序或工作

用法:kill [OPTION]

例:kill -9 3154
jobs
通过jobs命令查到后台正在执行的命令的序号(非进程号pid)

用法:jobs
bg
指定号码(非进程号)的命令进程放到后台运行

用法:输入'ctrl+z' 然后输入 'bg<job id>'

例:bg <job id>
fg
指定号码(非进程号)的命令进程放到前台运行

用法:fg <jobid>
档案
tar
压缩和解压

用法:tar [OPTION] DEST SOURCE

例:tar -cvf /home/archive.tar(压缩)

tar -xvf /home/archive.tar(解压)
zip
打包压缩

用法:zip [OPTION] DEST SOURSE

例:zip original.zip original
unzip
解压缩zip文件

用法:unzip filename

例:unzip original.zip
网络
ssh
远程登录的客户端

用法:ssh [options] [user]@hostname

例:ssh zhangjie@10.105.11.20
scp
基于ssh登陆进行安全的远程文件拷贝命令

用法:scp [options] [[user]@host1:file1] [[user]@host2:file2]

例:scp file1.txt zhangjie@10.105.11.20:~/work/
文件系统
fdisk
观察硬盘之实体使用情形与分割硬盘用

用法:fdisk [options]

例:sudo fdisk -l
mount
如果你要使用储存设备(Mo、硬盘、光驱等),就得先将它挂上(Mount),而当储存设备挂上了之后,就可以把它当成一个目录来进行访问。挂上一个设备使用mount命令

在使用mount这个指令时,至少要先知道下列三种信息:

1. 要Mount对象的文件系统类型?

2. 要Mount对象的设备名称?

3. 要将设备Mount到哪个目录去?

用法:mount -t type device dir

例:mount /dev/sda5 /media/target
umount
卸除文件系统

用法:umount [OPTIONS] dir | device

例:umount /media/target
du
查看目录或文件所占用磁盘空间的大小

用法:du [OPTION]……[FILE]……

例:du
df
检查文件系统的磁盘空间占用情况。

用法:df [OPTION]……[FILE]……

例:df
quota
显示磁盘使用情况和限制情况

用法:quota [OPTION]

例:quota -v
扩展
reboot
重启系统

用法:reboot [OPTION]

例:reboot
poweroff
关闭系统

用法:poweroff [OPTION]

例:poweroff
sed
一种在线编辑器,它一次处理一行内容

用法:sed [OPTION] [input-file]

例:sed 's/love/hate/g' loveletter.txt
awk
一种文本处理工具,Linux及Unix环境中功能最强大的数据处理引擎之一。

用法:awk [-F fs] [-v var=value] [-f progfile | 'prog'] [file ……]

例:awk '/^[ns]/{print $1}' test

终端常用快捷键:

表1-2
常用快捷键
说明
<Tab>
在文本终端下,使用TAB自动完成命令的输入,或者显示所有的可选项。超好用!
<Shift><PgUp>
滚动文本终端输出。终端屏幕上一屏又一屏的提示信息,就可以用它向上翻滚查看这些信息
<Shift><PgDown>
回滚文本终端输出
<Ctrl><Alt><Delete>
文本终端下关机和重新启动
<Ctrl><Alt><Backspace>
关闭或重启X Window
<Ctrl>a
到正在输入的命令行的首部
<Ctrl>e
到正在输入的命令行的尾部
<Ctrl>c
终止当前进程
<Ctrl>s
停止终端传输
<Ctrl>p
上一条执行的命令
<Ctrl>n
下一条执行的命令,前提是执行过<Ctrl>p
<Ctrl>f
在当前命令输入中右移光标一个字符
<Ctrl>b
在当前命令输入中左移光标一个字符
<Alt>f
在当前命令输入中右移光标一个词
<Alt>b
在当前命令输入中左移光标一个词
<Ctrl>k
删除光标后的所有字符
<Ctrl>d
删除光标当前的字符
<Alt><Tab>
切换不同的程序窗口
<Alt><F1>
访问“开始”菜单
<Alt><鼠标左键>
拖曳并移动一个窗口
<Alt><PrintScreen>
把当前屏幕的快照存到剪贴板
<Ctrl><Alt><d>
哈哈,老板键。切换隐藏/显示桌面运行程序
<Alt><SysRq><key>
组合键主要是针对开发人员的程序调试目的或者在紧急场合下才使用。可以通过设置相对应的内核参数来激活或者取消。

例如:echo "1" > /proc/sys/kernel/sysrq 激活这个组合命令
<Alt><SysRq><s>
防止数据丢失,挂载的文件系统紧急同步把缓存写入硬盘
……
……
<Alt><SysRq><o>
关机。下班了!

使用快捷键太爽了!默认情况下,按TAB在bash中是可以自动补齐,但仅能自动补齐命令名和文件名。可是我们追求的目标是“更快、更高、更强”,那就安装bash-completion做个增强版的自动补齐吧。使用 TAB 键自动补齐几乎任何内容,包括参数、文件、目录甚至包名称等。安装方法很简单,下载到的包中包含一个bash-completion 文件,将其放在/etc下。在/etc/bash.bashrc文件里加入可执行命令。

# Run bash completion code

if [ -r /etc/bash_completion ]; then

# Source completioncode.

. /etc/bash_completion

fi

1.更快……

举个例子。淘宝的预发环境中的Linux机器不允许直接登陆。需要申请跳板机,通过跳板机才能登陆预发机。在跳板机上,我们经常使用ssh
10.232.15.201操作命令,好麻烦呀。在/etc/hosts中我们加入一行“10.232.15.201
prerelease”。

然后我们使用complete -F _known_hosts ssh告诉ssh需要的主机名。一旦设置好了,我就可以通过敲[TAB]键完成主机名的输入:sshp[TAB]

就完成了prerelease主机名的输入。另外你还可以定制私有命令的补齐功能,不过你需要自己编写Shell脚本实现,然后把这个脚本放在/etc/bash_completion.d/下。在随后的章节,我们会学习Shell脚本的编程。在学完之后,希望你会通过编写脚本产生自己的补齐功能。

2.更高……

有的命令太长,那就把命令缩短。命令别名(alias)就启到这个作用。例如在SuSE版本中有个命令别名的文件(/etc/profile.d/alias.bash)。它里面定义了许多命令别名,例如alias
..='cd ..', 那么在终端上输入..就相当于输入了cd..直接回到上级目录,方便不?

3.更强……

在Shell终端上还可以一下子运行多个命令,用“;”就把各个命令串起来,例如:

[命令1];[命令2];[命令3]

不管执行的命令结果如何,就是勇往直前地冲呀杀呀,把这些命令最终执行掉。但是有时候,这些命令之间是有关联的,就需要改改这种傻愣愣地工作方式。如果前一个命令执行成功才执行下一个命令,我们可以用“&&”把命令连接起来。例如:

[命令1]&&[命令2]&&[命令3]

如果前一个命令执行失败才执行下一个命令,我们可以用“||”把命令连接起来。例如:

[命令1]||[命令2]||[命令3]

使用命令行的技巧还真不少,我们可以考虑出版一本专门讲述Linux命令行的参考书了。

帮助系统相关:

遇到问题寻找帮助能加快解决问题的速度。在Linux系统上,有以下几个途径使用帮助:

l遇到问题,男人(man)的帮助很靠谱。需要某个命令或者配置文件的帮助,就在终端输入:

man 命令名或man +配置文件。

屏幕就会显示对应命令系统的帮助手册。输入“q”退出帮助浏览器。

linfo 和 man功能相似,但是包含更多的最新信息。

l使用“命令名 –help”得到一个简略容易消化的命令帮助。

l程序自带README文件或者其他帮助信息文件,例如在/usr/share/doc下的一些手册。

如何在man页中查找信息呢?浏览man页默认的工具是less。less的使用方法很简单。翻页用space,翻半页用u,查找用/紧跟着正则表达式,用n查找下一个匹配项,用shift+
N查找前一个匹配项。如果这页里没有你感兴趣的,按space翻到下页。更多的操作还是man一下less文档吧。

很多命令的man帮助页中涉及到脚本命令、系统调用和编程接口等多方面。例如“man3printf”就是浏览printf的编程手册。用“man
-a 【命令名】”查看关于这个【命令名】所有帮助的文档。“man -kscanf”会给你一个所有与scanf有关的man页列表。还有,SEE
ALSO经常是被遗忘的角落,但是我经常会在这里发现其他有用的命令或函数,千万不要放过它。

条条大路通罗马,你是Linux系统的主人,如果喜欢用vim阅读man页的话,改一下配置和装个man.vim插件就行,另外使用most工具浏览man页也是一个好主意。

以上内容复制自:http://blog.csdn.net/jiajun2001/article/details/12622895,内容大部分是《Linux就是这个范儿》这本书上的,不过对于命令还是添加了扩充。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: