Linux常用命令
一、文件命名规则
1)除了/之外,所有字符都合法
2)有些字符最好不用,如空格符、制表符、退格符、和@#$&()-等
3)避免使用.作为普通文件名的第一个字符
4)大小写敏感
二、文件处理命令
1.显示目录文件
ls [选项] [文件或目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 详细信息显示
-d 查看目录属性
-i 查看节点
2.切换目录
cd [目录]
例:$ cd / 切换到根目录
$ cd .. 回到上一级目录
3.显示当前所在的工作目录
pwd
$ pwd
4.创建空文件
touch [空文件名]
例:$ touch newfile
5.创建新目录
mkdir [目录名]
例:$ mkdir newdir
6.复制文件或目录
cp -r [源文件或目录][目录]
-r 复制目录
例:$cp file1 file2 dir1 复制文件file1 , file2 到目录dir1
$cp -r dir1 dir2 将dir1下的所有文件及子目录复制到dir2
补充:ctrl+c终止一个命令
7.移动文件、更名
mv [源文件或目录] [目的目录]
例:$ mv file1 file3 将当前目录下文件file1更名为file3
$ mv file1 dir2 将文件file1 移动到目录dir2下
8删除文件
rm -r [文件或目录]
rm -r 删除目录
-f 取消删除提示
例:$ rm file3 删除文件file3
$ rm -r dir1 删除目录dir1
9.查看文件内容
1)显示文件内容(内容太长没办法显示完整)
cat [文件名]
例:$ cat /etc/issue
$ cat /etc/services
2)分页显示文件
more [文件名]
空格或f 显示下一页
Enter 显示下一行
q或Q 退出
例:$ more /etc/services
3)查看文件的前几行
head -num [文件名]
-num 显示文件的前num行
例:$ head -20 /etc/services
4)查看文件的后几行
tail -num [文件名]
-num 显示文件的后num行
-f 动态显示最新几条文件内容
10.产生链接文件
ln -s [源文件] [目标文件]
-s 创建软链接文件
例:$ ln -s /etc/issue /issue.soft 创建文件/etc/issue 的软链接/issue.soft
$ ln /etc/issue /issue.hard 创建文件/etc/issue 的硬链接(硬链接不允许跨目录生成)
二、权限管理命令
1.改变文件或目录的权限
chmod [{u,g,o}{+-=}{rwx}][文件或目录]
[mode=421] [文件或目录]
注:r-4,w-2,x-1,如rwxr-xr-- 754 ,rw-4-x--x 651
例:$ chmod g+w file1 赋予文件file1所属组写权限
$ chmod 777 dir1 设定目录dir1 为所有用户具有全部权限
2.改变文件或目录的所有者
a) chown [用户名] [文件或目录]
$ chown nobody file1 改变文件file1的所有者为nobody
补充: 切换用户: su [用户名]
添加用户:useradd [用户名]
设置用户密码:password [用户名]
3.改变文件或目录的所属组
chgrp [用户名][文件或目录]
例:$ chgrp adm file1 改变文件的所属组为adm
4.显示、设置文件的缺省权限
umask [-S]
-S 以rwx形式显示新建文件或目录缺省权限
例:$ umask
$ umask -S
三、文件搜索命令
1.显示系统命令所在目录
1)which [命令名称] 能附带显示命令别名
例:$ which ls
2)whereis [命令名称] 能附带显示命令帮助文档路径
例:$whereis ls
2.查找文件或目录
find [搜索路径] [搜索关键字]
例:$ find /etc -name init 在目录/etc中查找文件init
*:匹配任意字符init*
?:匹配单个字符init???
$ find / -size +204800 在根目录下查找大于100MB的文件
+:大于
-:小于
=:等于
$ find /home -user samlee 在根目录下查找所有者为samlee的文件
$ find /etc -ctime -1 在/etc下查找24小时内被修改过属性的文件或目录
天 ctime 、atime 、mtime
分钟 cmin、amin 、mmin
c --change 改变,表示属性被修改过
a --access 访问
m--modify 修改,表示文件的内容被修改过
-之内 +超过
$find /etc -mmin -120 表示120分钟之内/etc下被修改过内容的文件
$ find /etc -size +163840 -a -size -204800 在/etc下查找大于80M小于 100M的文件
连接符:-a and 逻辑与 -o or 逻辑或
$find /etc -name inittab -exec ls -l {} \ ;在/etc下查找inittab文件并显示其详细信息
-exec链接执行符 ,{}find查询的结果 \转义符表示符合本身的含 义
-ok 询问确认
$ find /etc type -f/l/d 查找文件类型是文件/链接/目录 的文件或目录
$ find . -inum 16 根据节点查找
3.寻找文件或目录
locate [搜索关键字]
例:$locate file 列出所有跟file 相关的文件
但是必须更新整个系统目录文件的数据库才能找到新创建的文件:
updatedb 例:updatedb
4.在文件中搜寻字符串匹配的行并输出
grep [指定字串][源文件]
例:#grep ftp /etc/services
四、帮助命令
1.获得帮助信息
man [命令或配置文件]
例:$man ls 查看ls命令的帮助信息
$ man services
$ man 5 password 查看password配置文件的帮助
$ man password 查看password命令的帮助
info [任何关键字] 和man一样,只是浏览方式有些差异
2.获得索引的简短说明信息
whatis ,apropos [任何关键字]
$ whatis ls
$ apropos fstab 相当于man -k
3.列出命令的选项
命令 --help
4.更新命令数据库获得最新安装软件的命令
#makewhatis 建立whatis和apropos搜索使用的数据库,当使这两个命令 发生错误时,就是whatis database没有建立
5.查看shell内置的命令的帮助
help +命令
五、压缩解压命令( .gz .tar.gz .zip .bz2)
1.gzip 只能压缩文件,不能压缩目录,不保留源文件
语法:gzip 选项[文件]
压缩后文件格式:.gz
2.gunzip/gzip -d 解压缩文件 如$gunzip file1.gz
3.tar 打包压缩/解包解压缩目录(目录不能直接解压缩,必须先打包成.tar再压缩成.gz)
语法:tar 选项[cvf] [目录]
-c 产生.tar打包文件/-x 解包.tar文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 压缩/解压缩
压缩后文件格式:.tar.gz
如:$ tar -zcvf dir1.tar.gz dir1 将目录dir1压缩成一个打包并压缩的文件
$ tar -zxvf dir1.tar.gz 解包解压缩 = $gunzip dir1.tar.gz先解压缩 $tar -xf dir1.tar 再解包
4.zip (不大,建议用此):
$ zip -r test.zip /etc/services 压缩文件 $zip -r test.zip /test 压缩目录
unzip: $ unzip test.zip 解压.zip的压缩文件
5.bzip2 :$ bzip2 -k file 压缩为.bz2格式文件
加-k选项 保留原文件
bunzip2: $ bunzip2 -k file.bz2 解压.bz2压缩文件
6.file+文件名 判断文件的类型
六、网络通信命令
1. write+用户名:向另一个用户发信息,以Ctrl+D作为结束
如:$write samlee
2.wall [message] [文件名]: 向所有用户广播信息
3.ping 选项 IP地址:测试网络联通性
选项:-c 定义发送的请求包的数量
-s:定义发送的数据包的大小
4.ifconfig [-a] 网卡设备标识:查看网络设置信息
例:$ipconfig eth0 ,$ipconfig eth0 Ip地址,改变该网卡IP地址
七、系统关机命令
1.shutdown :$shutdown -h now 立刻关机
2.reboot::重启系统
八、Shell应用技巧
1.tab命令补全
2.ctrl+l 清屏
3.ctrl+u 清楚当前光标前所有内容
4.histry 列出命令记录 ,!序号 列出此序号命令,上下键查找以前执行过的命令
5.定义别名 alias copy=cp alias xrm=”rm -r “
查看别名信息:alias
删除别名信息:unalias copy
6.输入输出重定向:
1)>或>>(表示追加) 输出重定向:
如:ls -1/temp > /tmp.msg
date >> /tmp.msg
<或<< 输入重定向:
如:wall < /etc/motd
2)错误输出重定向
如:cp -r /user /backup/user.bak 2> /bak.error (2表示判断命令出错时将错误信息定向到一个文件)
7.管道
将一个命令的输出传送给另一个命令,作为另一个命令的输入。
使用方法:命令1|命令2|命令3.........|命令n
例:$ ls -l /etc | more
$ ls -l /etc | grep init
$ ls -l /etc | grep init | wc -1
8.命令连接符
;:用;间隔的各命令按顺序依次执行
&&: &&前面的命令执行成功,&&后面的命令才被执行,反之亦然
|| : ||前面的命令执行失败,||后面的命令才被执行,反之亦然
9.命令替换符
将一个命令的输出作为另一个命令的参数
格式:命令1 `命令2`
例:ls -l `which touch`
文本编辑器Vim
一、Vim/Vi工作模式
a) 命令模式:进入 vi filename,退出 :wq
b) 插入模式:进入 i a o ,退出 Esc
c) 编辑模式:进入 : ,退出 回车
二、插入命令
a 在光标后附加文本
A 在本行行末附加文本
i 在光标前插入文本
I 在本行开始插入文本
o 在光标下插入新行
O 在光标上插入新行
三、定位命令
h,方向左键:左移一个字符
j,方向下键:下移一行
k,方向上键:上移一行
l,方向右键:右移一个字符
$ :移至行尾
0 :移至行首
H:移至屏幕上端
M:移至屏幕中央
L:移至屏幕下端
:set nu:设置行号
:set noun:取消行号
gg :到第一行
G :到最后一行
nG:到第n行
:n:到第n行
四、删除命令
x 删除光标所在字符
nx 删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行
dG 删除光标所在行到末尾的内容
D 删除光标所在处到行尾
:n1,n2d 删除制定范围的行
五、复制和剪切命令
yy,Y 复制当前行
nyy,nY 复制当前行以下n行
dd 剪切当前行
ndd 剪切当前行以下n行
p,P 粘帖在当前光标所在行下或行上
六、替换和取消命令
r 取代光标所在处的字符
R从光标所在处开始替换字符,按Esc结束
u 取消上一步操作
七、搜索和替换命令
/String 向前搜索指定字符串,搜索时疏略大小写:set ic
n 搜索制定字符串的下一个出现位置
:%s/old/new g 全文替换指定字符串
:n1,n2s/old/new g 在一定范围内替换指定字符串
八、保存和退出命令
:w 保存修改
:w new_filename 另存为指定文件
:wq 保存修改并退出
ZZ 快捷键,保存修改并退出
:q! 不保存修改退出
:wq! 保存修改并退出
九、应用实例
导入命令执行结果:r !命令
定义快捷键 :map 快捷键 触发命令
范例::map ^P I#<ESC>
:map ^B 0x
连续行注释:n1,n2s/^/#/g
:n1,n2s/^/#//g
:n1,n2s/^/\/\//g
替换 :ab sammail samlee@lampbrother.net