1 文件处理命令
1.1 文件格式
ls (list显示目录文件)
ls [-ald] [文件或目录]
-a //查看全部文件,包括隐藏文件
-l //long详细文件显示,大小权限等
-h //human人性化显示,-lh人性化显示文件大小K
-d //查看目录属性,-ld显示当前目录本身详细信息
-i //inode查看文件的唯一标识
l是软链接文件, d是目录, -表示二进制文件
1.2 目录处理命令
1.2.1 创建新目录—mkdir(make directories)
-p //递归创建目录
mkdir -p /tmp/demo01/demo02 //在tmp目录下先创建demo01再在demo01下创建demo02
mkdir -p /tmp/demo01/demo02 /tmp/demo01/demo03 //在tmp目录下先创建demo01后,再创建demo02和demo03
1.2.2 显示当前目录路径—pwd(print working directory)
1.2.3 切换目录—cd(change directory)
cd /tmp/.....//切换指定目录
cd ..//回到上一级目录
1.2.4 删除空目录—rmdir(remove empty directories)
rmdir /tmp/demo01/demo02 //删除demo01下面的demo02文件夹(必须为空)
1.2.5 复制目录或文件—cp(copy)
cp -rp [多个原文件和目录] [目标文件和目录]
-r //复制目录
-p //保留文件属性
cp -r /tmp/demo01/demo02 /root //把demo01文件夹下的demo02复制到/root下,不更改名字
cp -p /tmp/demo01/demo02 /etc //不改变demo02文件夹的属性
cp -r /tmp/demo01 /root/zero //更名操作
1.2.6 剪切文件/改名—mv(move)
mv [原文件或目录] [目标目录]
mv /tmp/demo01/demo03 /root //把demo01下面的demo03剪切到root下
mv /tmp/demo01/demo03 /root/zero01 //把demo01下的demo03剪切到root下同时并改名
1.2.7 删除文件—rm(remove)
rm -rf [文件或目录]
-r //删除目录
-f //强制执行
1.3 文件处理命令
1.3.1 创建空文件—touch
touch first //创建名为first的文件
touch "demo demo" //创建有空格的文件需要带""
1.3.2 显示文件内容—cat(正向)/tac(逆向)
cat [文件名] -n //显示行号
1.3.3 分页显示文件内容—more/less(向上翻页)
more [文件名] space/f -----翻页, enter-----换行, q或者Q-----退出
pageup //一页页上翻
使用less查看时,在某一行写 /(关键词) 可匹配关键词进行搜索,不在当前页面写n定位到下一个关键词
1.3.4 显示文件前面几行(后面几行)—head/tail
head [文件名] -n 指定行数 //n后写指定行数,不写默认10行
head -n 20 /etc/services //查看/etc/services的前20行
tail [文件名] -n 指定行数
-f 动态显示文件末尾内容
1.4 生成链接命令—ln(link)
ln -s [原文件] [目标文件] //-s 创建软连接,没s是硬链接
#示例
// ln -s /etc/issue /tmp/issue.soft 软链接类似于快捷方式,生成文件以l开始,lrwxrwxrwx权限,有箭头指向,inode节点与原文件不同,删除原文件无法访问.
// ln /etc/issue /tmp/issue.hard
硬链接特点(软硬相反):
1>与cp -p+同步更新
2>通过i节点识别,节点相同
3>不能跨分区(只能本区链接)
4>不能针对目录使用
2 权限管理命令
2.1 权限管理命令
2.1.1 更改文件或目录的权限-----chomd(change the permissions mode of a file)
chmod [{ugoa}{+-=}{rwx}] [文件或目录] -R// 递归修改,某文件下所有文件都修改为同一个权限
chmod [mode=421] [文件或目录]
对文件的含义 | 对目录的含义 |
---|---|
可以查看文件内容(cat/more/tail/head/less) | 可以列出目录中的内容(ls) |
可以修改文件内容(vim) | 可以在目录中删除,创建文件(mkdir/rmdir/touch/rm) |
可以执行文件(脚本或命令) | 可以进入目录(cd) |
root用户下, 新建一个文件夹temp并递归创建文件testfile, 给temp设置权限为777, 新建一个用户登录系统, 问是否能删除testfile?
答:可以,删除一个文件的前提条件是对这个文件所在的目录有写权限, 不取决于它自己本身的权限,文件本身有写权限只是能修改文件的内容.
2.1.2 改变文件/目录的所有者-----chown(change file ownership)
change [用户] [文件或目录]
change root /home/zy/twice //更改文件twice的所有者为root
2.1.3 改变文件/目录所属组-----chgrp(change file group ownership)
chgrp [用户组] [文件或目录]
chgrp demo /home/zy/twice //更改文件twice所属组为demo
2.1.4 显示,设置文件的缺省权限-----umask(the user file-creation mask)
umask [-S] -S //以rwx形式显示新建文件缺省权限(默认)
设置缺省创建值为077,则实际创建文件的值是777与077异或再少一个可执行的权限.
2.2 文件搜索命令
2.2.1 find-----文件搜索
find [搜索范围] [属性] [匹配条件]
-name //查找名字中带有匹配条件的.-iname不区分大小写
-size +n -n n= //查找大于等于或小于n(具体数值)的文件
-user //查找所有者为匹配条件的文件
-amin //查找过往几分钟内被访问access过的文件和目录
-cmin //查找过往几分钟内被修改(change)过属性的文件和目录
-mmin //查找过往几分钟内被更改(modify)过内容的文件和目录
-a(-o) //a表示两个条件都满足,o只满足一个即可
-type //按文件类型查找
-inum //根据i节点查找
-exec/-ok {} \; \\对搜索结果执行操作,-ok会提示一步确认,其他是默认格式
#示例:
find /etc -name init //在/etc目录下查找名字中含init的文件和目录
find /etc -size +204800 //在/etc目录下查找大于100MB的文件(一个数据块512k,100MB=102400KB=204800个数据块)
find /etc -user(group) zy //查找使用者为zy的文件
find /etc -cmin -5 //在/etc目录下查找5分钟内被修改过属性的文件和目录
2.2.2 locate-----在文件资料库中查找文件
locate找不到存放在临时文件库/tmp中的文件.其他的要updatedb,-i查找不区分大小写.
2.2.3 which/whereis-----搜索命令所在目录及别名信息(搜索命令所在目录及帮助文档路径)
which ls //找ls在哪个目录下
which rm //找到rm的别名
whereis passwd //找到passwd的目录和帮助文档,会出现多个路径,1对应命令的帮助,5是配置文件的帮助.
2.2.4 grep-----在文件中搜寻字串匹配的行并输出
grep -iv [指定字串] [文件] //会列出指定字串的行,方便vim修改
-i 不区分大小写
-v排除指定字串
2.3 man(manual)-----查看命令/配置帮助信息
man ls //查看ls命令的帮助信息
man 5 passwd //看passwd的配置文件信息
whatis-----查看命令简短信息,可以得到简短的使用信息
apropos [配置文件]-----查看配置文件信息
[命令] --help -----展示选项选项
info-----获取帮助信息
date-----man date可以查看命令格式并更改时间
help [命令]-----查看shell内置命令帮助
2.4 useradd(passwd)-----添加新用户(passwd)
添加用户,再给用户设置密码 useradd teng passwd teng,使用passwd可以更改密码,root可以改任何人的密码
who: 查看当前用户登录信息
w查看详细信息: 运行时间,负载情况与正在执行的命令,类及占用cpu和命令占用cpu情况
2.5 压缩解压命令
2.5.1 qzip(gunzip)-----压缩(解压)文件命令
gzip(.gz)-----压缩文件后源文件消失. gunzip(gzip -d)-----解压缩文件
2.5.2 tar-----压缩目录命令压缩后格式为.tar.gz
tar 选项 [-zcf] [压缩后文件名] [目录] 解包
-c 打包 -x 解包
-v 显示详细信息 -v显示详细信息
-f 指定文件名 -f 指定解压文件
-z 打包同时压缩 -z 解压缩
2.5.3 zip(unzip)-----压缩(解压缩)文件或目录格式为.bz2
zip 选项[-r] [压缩后文件名] [文件或目录] //-r 压缩目录,文件不加
zip -r dmeo01.zip demo01
unzip dmeo01.zip //若源文件存在会询问是否覆盖源文件
2.5.4 bzip(unbzip)-----压缩(解压缩)文件命令
bzip 选项[-k][文件] //-k 产生压缩文件后保留原文件
tar -cjf demo01.tar.bz2 demo01 //生成demo01目录的tar.bz2,-xjf 解压缩.>
2.6 网络命令
2.6.1 write-----给用户发信息,ctrl+D结束
write 用户名(用户需要在线)
示例:给zy用户发送数字
2.6.2 wall(write all)-----给所有用户发广播信息
wall [message] //直接加信息就行,发送本身也能收到
2.6.3 ping(ifconfig)-----测试连通性(查看和设置网卡信息)
ping 选项 IP地址 //-c是指定发送次数,一般是为了查看丢包率
1 last -----列出目前与过去登入系统的用户信息
2 id [用户名] -----查看用户名的uid
3 lastlog-----检查特定用户上次登陆的时间 lastlog -u [uid]
4 traceroute-----显示数据包到主机间的路径
5 netstat-----显示网络状态
netstat -tlun //查看本机监听的端口
netstat -an //查看本机所有的网络连接
netstat -rn //查看本机路由表
6 setup-----配置网络
2.6.4 mail-----查看发送电子邮件
mail [用户名]
// 给root用户发邮件
root用户输入mail可查看信息(1是序列号标注错误,输入对应序列号可以查看信件详细信息,删除使用d 序列号即可.)
2.6.5 mount(不想听了所以没写完)-----挂载命令
mount [-t 文件系统] 设备文件名 挂载点
2.7 关机重启命令
2.7.1 shutdown[选项] 时间----关机
1 shutdown [选项] //-c:取消一个关机命令 //-h:关机 //-r:重启
halt poweroff(断电) init 0 //都可以关机
2 reboot
init 6 //6是重启,系统运行级别
cat /etc/inittab //修改系统默认运行级别
runlevel //查询当前系统运行级别
3 文本编辑器
3.1 vim-----文本编辑器(常用操作)
vim打开需要编辑的文件,按a会进行insert插入操作,esc从插入模式回到命令模式,摁冒号写wq保存退出,set nu 给文件内容编号
命令模式和编辑模式的操作(记aio就行)
小写 | 大写 |
---|---|
a–光标所在字符后插入 | A–光标所在行尾插入 |
i–光标所在字符前插入 | I–光标所在行行首插入 |
o–光标下插入新行 | O–上插入新行 |
定位命令
:set nu(nonu):设置行号(取消行号)
gg:到第一行 G:到最后一行 nG:到某行,n是数字 :n到第n行
$:到行尾 0:到行首
删除命令&复制命令
删除命令 | 复制命令 |
---|---|
x:删除光标所在处字符nx:删除所在处后n个字符 | yy:复制当前行,nyy:复制当前行以下n行 |
dd:删除光标所在行,ndd删除n行 | dd:剪切当前行 |
dG:删除光标所在行到文件末尾 | ndd:剪切当前行以下n行 |
:n1,n2d:删除指定范围的行 | p,P:粘贴在当前光标所在行下或行上 |
替换和取消命令
命令 | 作用 |
---|---|
r | 取代光标所在处字符 |
R | 从光标所在处开始替换字符,按esc结束 |
u | 取消上一步操作 |
搜索和搜索替换
命令 | 作用 |
---|---|
/string | 搜索指定字符串,忽略大小要先写:set ic |
n | 搜索指定字符串下一个出现位置 |
:%s/old/new/g© | 全文替换指定字符串,c是二次询问 |
:n1,n2s/old/new/g© | 在一定范围内替换指定字符串 |
保存和退出命令
命令 | 作用 |
---|---|
:w(:wq) | 保存修改(保存修改并退出) |
:w new_filename | 另存为指定文件 |
ZZ | 快捷键,保存修改并退出 |
:q! | 不保存修改退出 |
:wq! | 保存修改并退出(文件所有者及root用户可使用) |
3.2 vim-----使用技巧
可以自己设置的快捷键写入系统的文件中(如普通用户/home/username/.vimrc或者管理员/root/.vimrc)保存
1>导入命令执行结果 :r !命令
//r !date会插入当前时间
2>定义快捷键 :map 快捷键 触发命令
//map ^P I#<ESC> 用快捷键+P设置注释#,设置时使用ctrl+v+p才可以
//map ^B 0x 删除行首
//map ^H is邮箱<ESC> 添加邮箱快捷键为^H
3>连续行注释 :
//n1,n2s/^/#/g :n1,n2s/^#//g ^表示行首的内容
//1,4s/^/\/\//g 给1-4行加入//,使用转义符
4>替换 :ab mymail 邮箱
//ab mymail iniin只要输入mymail按回车会自动插入iniin字符串,替换快捷键
4 软件包管理
4.1 rpm-----命令管理(手动)
4.1.1 包命名与分类
命名
eg: httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd : 软件包名
2.2.15 : 软件版本
15 : 软件发布次数
e16.centos : 适合的linux平台
i686 : 适合的硬件平台
rpm : rpm包扩展名
包安装升级需要写全名,卸载不需要包全名
rpm安装
rpm -ivh 包全名
-i(install) 安装
-e(erase) 卸载
-v(verbose) 显示详细信息
-h(hash) 显示进度
–nodeps 不检测依赖性(仅限做实验使用)
-Uvh 包全名 升级
示例安装apache参见博客http://t.csdnimg.cn/HJJfy
4.1.2 查询
rpm -q 包名 #查询包是否安装query
rpm -qa #查询所有已经安装的rpm包
查询软件包的详细信息
rpm -qi 包名 #-i查询软件信息(information),-p查询未安装包信息(package)
查询包中文件安装位置
rpm -ql 包名 #-l(list)列表,-p查询未安装包的信息
查询系统文件属于哪个rpm包
rpm -qf 系统文件名 #查询系统文件属于哪个软件包(file)
查询软件包的依赖性
rpm -qR 包名 #-R查询包的依赖性(requires),-p查询未安装包的信息
4.3 校验和文件提取
rpm -V 已安装的包名 #-V(verify) 检验指定rpm包中的文件
rpm2cpio 包全名 | \ cpio -idv .文件绝对路径 #rpm2cpio是将rpm包转换为cpio格式的命令,cpio是用于创建软件档案文件和从档案文件中提取文件的标准工具
eg : 修复文件丢失
4.2 yum-----在线管理(自动)
4.2.1 yum命令
yum软件包管理
yum list #查询所有可用软件包列表
yum search 关键字 #搜索服务器上所有和关键字相关的包
yum -y install 包名 #-y是自动回答yes
yum -y update 包名 #升级(不写包名会全部升级可能会崩溃)
yum -y remove 包名 #卸载
#示例:安装gcc编辑器yum -y install gcc,并查看安装状态
yum软件组管理命令
yum grouplist #列出所有可用的软件组列表
yum install grouplist 软件组名 #安装指定软件组名,组名可以由grouplist查询出来
yum groupremove 软件组名 #卸载指定软件组名
4.3 软件包管理-源码包管理
源码包一般安装在指定位置/usr/local/软件名/