1、ls -aldi /etc :查询文件、 目录
lrwxrwxrwx : ( l:软连接 -:二进制文件 d:文件夹) 所有者(u)有读写执行权限 所属组(g) 有读写执行权限 其他人(o)有读写执行权限
3 : 引用计数
root root : 该文件的所有者 该文件的所属组
14 : 文件大小 (ls -lh 可以看到正常显示大小,一般看文件大小用du -sh 文件)
4月 21 14:59 : 最后一次修改时间,如果没有修改就是创建时间
cpp -> ../usr/bin/cpp :文件名称 指向 /usr/bin/cpp (执行cpp实际执行/usr/bin/cpp)
【注意】一般创建文件,所有者也不会有x权限,因为x权限是最高权限,只有当你要执行这个文件时候,才会给文件赋予x权限
2、mkdir dirname :创建目录
mkdir -p /tmp/dirname1/dirname2/dirname3 :递归创建目录
3、rmdir dirname :删除空目录(无法删除有文件的目录)
4、cp oldfile newfile :复制文件
cp oldfile1 oldfile2 oldfile3 dirname :复制多个文件到一个目录下
cp -r olddirname newdirname:复制目录
cp -p oldfile newfile : newfile的时间跟oldfile时间一样,如果不加-p,newfile时间就是当前复制时候的时间
5、mv oldfile newfile:移动 改名
6、rm -f file:删除文件 (-f不需要确认)
rm -rf dirname: 删除文件夹必须带-r (-f不需要确认)【注意】:可以删除带内容的文件夹
7、cat -n file //查看文件所有内容,看内容比较少的文件,-n带行号
cat -n file //倒着显示
more file //空格下一页、 无法上一页
less file // 跟more差不多,空格下一页、page up上一页、回车下一行、上箭头上一行 、/keyword 查询
head -n file //默认显示前10行
head -n 20 file //显示前20行
tail -n file //默认显示后10行
tail -n 20 file//显示后20行
tail -f file //动态显示后10行
8、连接
8.1 软连接:类似windows的快捷方式
8.1.1、ln -s ssueissue.sort i
8.1.2、 ls -l 查询时候,开头为l的就是软连接
8.1.3、软连接文件权限都是rwxrwxrwx,虽然软连接是所有的操作权限,但是真正执行该文件的时候是取决于他指向的真正文件的权限
8.2 硬链接:相当于拷贝 -p + 实时更新(生成的硬链接文件,与源文件完全一样,连日期都一样,并且当源文件变更内容时候,硬链接文件也会实时同步更新,
当硬链接改变内容时候,源文件也会同步更新)
8.2.1、ln ssue ssue.hard
8.2.2、硬链接不可以跨分区、硬链接不可以对目录使用
9、权限管理命令chmod : 一个文件只有root和创建该文件的用户才能修改
9.1:方法一:chmod ugoa +/-/= r/w/x 文件/目录 //u:所有者 g:代表所属组 o:代表其他人 +:赋予权限 -:删除权限 =:不管以前什么权限,就等于这个权限
eg: chmod u+x file //所有者增加执行权限
chmod g+x,o-x file //所属组增加执行权限,其他人删除执行权限
chmod a = rwx file //所有人都有rwx权限
9.2: 方法二: 4:r 2:w 1:x
eg:chmod 777 file //所有者:rwx 所属组:rwx 其他人:rwx
9.3:递归修改权限 -R
eg:chmod u=rwx,g=rwx,o=rwx -R dirname //dirname与dirname下所有文件的权限全改为755权限
eg:chmod 755 -R dirname //dirname与dirname下所有文件的权限全改为755权限
9.4 rwx针对文件与针对目录详解
权限 权限 针对文件 针对目录
10、chown 更改文件所有者、chgrp所属组,【注意】只有root才能执行此操作
10.1更改文件所有者:
eg:chown lvxiujun file //file文件所有者为file
10.2更改文件所属组:
eg:chgrp group1 file //file文件所属组group1
11、umask 新建文件的缺省(默认)权限
【注意】:当创建一个文件、文件夹时候,所有者就是创建人,所属组就是这个人所在的组
一般创建文件都是755默认值,文件夹一定是,但是新建的文件在linux中不允许有可执行权限,所有文件就是644
11.1 :umask -S //755
11.2:umask //0022 第一个值是特殊权限,剩下三个值是缺省权限相反值 777 - 755 = 022
11.3:设置默认权限:umask 023
12、find查找命令
【注】:不要再高负载情况下使用find,搜索条件越精准越好
12.1 根据文件名来查找
12.1.1 :根据文件名精确搜索 : find /etc -name init //在etc下搜索init这个文件
12.1.2 根据文件名模糊搜索:find /etc -name *init* //包含init的文件都会被搜索出来
12.1.3 查找init开头的文件:find /etc -name init* //init开头的文件
12.1.4 查找init开头后面是3个字母:find /etc -name init???
12.1.5 查找不区分大小写文件名:find /etc -iname *init* //所有包含init或者INIT或者inIT等都会被找到
12.2 根据文件大小查找
【注】:1个数据块(block)是512bytes(字节)是0.5k
100M文件 = 102400k = 102400 * 2 = 204800block
12.2.1 :find /etc -size +204800 // 在/etc下查找大于100M文件
12.2.3 :find /etc -size -204800 //在/etc下查找小于100M文件
12.2.4:find /etc -size 204800 //在/etc下查找等于100M文件
12.3 根据所有者来查找
12.3.1 :find /home -user lvxiujun //查找所有/home下lvxiujun用户
12.3.2:find /etc -group group1 //查找所有/etc下group1组的文件
12.4 根据时间属性来查找
12.4.1://访问时间 find /etc -amin -5 //5分钟之内在/etc下被访问过的文件
find /etc -amin +5 //超过5分钟再/etc下被访问过的文件
12.4.2://文件属性被改变 find /etc -cmin -5 //5分钟之内文件属性被改变过的
find /etc -cmin -5 //超过5分钟文件属性被改变过的
12.4.3: //文件内容被改变 find /etc -mmin -5 //5分钟之内文件内容被改过的
find /etc -mmin +5 //超过5分钟内容被改过
12.5 根据类型查找
12.5.1 :find /etc -type f //查找文件
12.5.2: find /etc -type d //查找目录
12.5.3: find /etc -type l //查找二进制文件
12.6 根据i节点查找
12.6.1 : find /etc -inum 1234 //根据i节点查找
12.7:连接查找 -a (and)、-o(or)
12.7.1 :find /etc -iname init -a type f //查找/etc下包含init的文件,不包括目录
12.7.2:find /etc -name init or -name aa //查找/etc下包含init或者aa的文件或目录
12.8:查询的结果直接进行操作-exec/-ok....{} \
12.8.1 :find /etc -name dirname1 -exec ls -l {} \ ; //查询dirname1文件夹然后列出此目录下所有文件
12.8.2 :find /etc -name test-exec rm -rf {} \; //查找test文件然后删除
【注】:后面的“{} \”是固定格式,可以背下来
13、locate查找
13.1 locate filename //去文件资料库中查找内容
locate -i filename //不区分大小写
13.2 updatedb //更新locate数据库
【注】:/tmp这个文件夹不在文件资料库收录之中
14、搜索命令
which查找命令所在路径、以及命令别名 eg:查找命令所存在的目录 which rm
whereis查找命令所在路径以及帮助文档 eg:whereis rm
15、查找文章内的内容
15.1 精确查找 : grep testaa /etc/test //查找/etc/test文件中testaa所在行内容
15.2 不区分大小查找: grep -i testaa /etc/test //查找testaa或者TESTAA或者testAa等等内容,不区分大小
15.3 排除指定字符串:grep -v testaa /etc/test //查找test文件中不包括testaa所在行内容
排除以#号开头 :grep -v ^# /etc/test //排除/etc/test文件中#开头的行
16、帮助命令
16.1 man:无法查看shell内置命令
NAME:此命令是干嘛用的
DESCRIPTION:选项
16.1.1 man ls //查看 命令
16.1.2 man services //查看配置文件的帮助,不能带路径eg:/etc/services
如何查看命令帮助文档,还是配置文件的 whereis file : xxxx.man1 命令 xxxx.man5 配置文件,password又是命令,又是配置文件,默认是显示命令,
man password查看的是命令的,如果想看配置文件的 man5 password
16.2 whatis 简单的查看:whatis ls //简单介绍
16.3 apropos 简单查看配置文件信息 :apropos inittab //不要加绝对路径
16.4 命令 --help:ls --help //列出所有选项
16.5 help ls :查询shell内置命令帮助,man无法查看内置命令
17、简单的用户管理命令
17.1 useradd lvxiujun //添加用户
17.2 passwd lvxiujun //root更改密码
passwd //当前用户修改自己密码
17.3 简单的获取当前登陆用户信息
who :
tty :本地主机登陆
pts:远程登陆
17.4 相信获取 当前登陆用户信息
w
第一行:第一个参数:当前系统时间 第二个参数:up:连续开机多久没有关机,第三个参数:一共几个用户登陆 load average(负载指数) :1分钟 5分钟 15分钟
第二行之后:
IDLE :空闲多久 WHAT:当前执行了什么操作 PCPU:当前用户正在执行命令的操作占用cpu时间 JCPU:累计占用CPU时间
18 压缩文件命令
18.1 gzip:无法压缩文件夹,删除源文件,压缩比很好
18.1.1 gzip file //源文件被删除,生成一个.gz后缀的压缩包,无法压缩文件夹
18.1.2 gunzip file.gz 或者gzip -d file.gz //压缩包没了,生成一个file
18.2 tar :可以压缩文件夹,不删除源文件
18.2.1 tar -zcvf test.tar.gz test // c打包 v详细信息 f指定压缩包名 z打包同时压缩
18.2.2 tar -zxvf test.tar.gz //x解包 z解包同时解压缩
18.2.3 tar -jcvf test.tar.bz2 test //生产bz2压缩文件,选项顺序不能错
18.2.4 tar -jxvf test.tar.bz2 //解压缩bz2文件包,选项顺序不能错
18.3 zip 可以压缩文件夹,不删除源文件
18.3.1 zip file.zip file //压缩文件
18.3.2 zip -r dir1.zip dir1 //压缩目录
18.3.3 unzip file/dir1 //解压缩
18.4 bzip2(gzip升级版本):可以保留源文件,压缩比很好
18.4.1 bzip2 -k file //保留源文件-k,不加-k不保留源文件
18.4.2 bunzip2 -k file.bz2 //解压缩,-k保留源压缩包,不加-k不保留
19、网络命令
19.1 write :write lvxiujun 然后输入内容,ctrl+D保存发送,给在线的用户u发送
19.2 wall hello 回车就发送了,给在线的用户u发送
19.3 ping ip // 一直不停ping下去
ping -c 3 ip //ping3次,看packet loss 如果太大就是丢包太多
19.4 ifconfig 查看当前网络状态
19.4.1 基本信息
eth0 代表本地网卡,0第一块,1第二块。。
LO :本地回环网卡,ip始终是127.0.0.1 始终能ping通,没网卡也能ping通
Link enacp:Ethernet (代表以太网)
HWaddr:mac地址、网卡物理地址
Inet addr:当前计算机ip地址
Bcast:当前计算机广播地址
Mask:子网掩码
Inet6 addr:ipv6地址,目前都没啥用
19.4.2 设置临时网络ip地址:ifconfig eth0 ip //临时设置网址
19.5 mail 邮件,不是使用邮件服务器
19.5.1 发送邮件
mail root 回车
填写 Subject 回车
填写内容 xxxx
ctrl +D 发送
19.5.2 接受邮件 输入 mail就可以
N代表新邮件未读的 1(数字代表序列号) 发送邮件人 发送时间 发送主题
mail之后输入help就能看到所有使用项,输入序列号直接就可以查看对应邮件
进入到邮件内部读取邮件后按h键就回到列表了
d 1(序列号) //删除邮件
此时再按h,邮件就没了
q退出
19.6 last 列出目前与过去所有用户所有登陆过的用户信息
用户 登陆终端 登陆的ip地址 时间 - 离开时间 (共登陆多久)
(其中用户如果是reboot,就是可以看到重启信息)
19.7 lastlog 查看每个人最后一次登陆信息
lastlog -u uid //只看该用户最后一次访问的时间
19.8 traceroute 从服务器到对方服务器经过哪些节点
traceroute www.baidu.com
如果发现某个节点延迟特别高,或者之后不在链接了,说明后面这个节点出问题了
19.9 netstat 查询网络状态
-t :查询tcp协议的
-u:查询udp协议的
-l:监听,查看监听端口
-r:路由,查看网关
-n:显示端口和ip地址
常用eg:
19.9.1 netstat -tlun //查询当前计算机下开了哪些计算机端口
Proto标志协议(tcp/udp) Recv-Q接受数据包队列(0很通常没积压) Send-Q发送数据包队列 Local Address本地地址:端口 Foreign Address外部地址(连接此服务的用户ip:端口):端口 State(监听状态,只有tcp才有)
19.9.2 netstat -an //a:所有 查看所有监听信息,与-tlun区别是,-tlun只能查看端口是否起来正在监听,而-an可以查哪些服务正在被终端连接
State:ESTABLISHED代表此服务正在连接当前服务器
19.9.3 netstat -rn //查看网关,Gateway最后一行是网关
19.10 配置永久ip,setup(redhat系列才有的)
配置完之后,要重启网络服务 service network restart才会生效
19.11 挂载、卸载命令
19.11.1 挂载 mount
mout -t(指定光盘文件系统,可以省略) iso9660(光盘文件系统固定的,可以省略) /dev/sr0(设备文件名,系统默认指定的就是sr0,也可以写/dev/cdrom,软连接) /mnt/cdrom/
简写:mount /dev/sr0 /dev/cdrom //把设备文件名挂载到cdrom文件夹上,之前挂载过的话,回车就会报错,所以先卸载,在挂
再次挂载
mount /dev/sr0 /dev/cdrom //正常情况下没有任何提示,如果提示 mount:block device /dev/sr0 is write-protected,mounting read-only 就说明,想挂载成写权限,但是所有光盘都是只读的,所以这个错误提示可以忽略
此时进入 /mnt/cdrom就可以看到整个光盘数据
19.11.2 卸载 umount,
19.11.2.1 卸载设备不允许在挂载点(/mnt/cdrom)中卸载,否则报错 /dev/sr0:device is busy
19.11.2.2 umount /dev/sr0 或 umount /mnt/cdrom //卸载设备 ,再次进入/mnt/cdrom就变成空文件夹了
20 、关机、重启命令
20.1 关机命令(推荐使用shutdown,以前只有shutdown会保存所有东西后再重启,但现在已经所有的都支持这个,shutdown更相信他一些)
20.1.1shutdown
20.1.1.1 shutdown -h / -r now 立马关机/重启(-h:halt就是关机,-r:reboot重启)
20.1.1.2 shutdown -h / -r 20:30 指定时间关机/重启(-h:halt就是关机,-r:reboot 重启)
20.1.1.3 shutdown -c 取消前一个关机命令
20.1.2 halt 关机
20.1.3 poweroff 关机(不推荐)
20.1.4 init 0 关机
20.2 重启
20.2.1 reboot
20.2.2 init 6
21、系统运行级别,共7个运行级别 ,linux系统启动时候可进入的级别号
0:关机
1:单用户(类似windows启动时,按F8,启动最核心程序,用来修复系统的,只有root才能登陆进来)
2:不完全多用户,不含NFS(网络文件系统,linux、uniux之间共享服务,这个服务有安全隐患,正常情况也不建议使用此服务)服务
3:完全多用户
4:未分配
5:图形界面
6:重启
21.1 设置运行级别:/etc/inittab :配置系统运行级别,注意一定不要设置为0和6,否则就开机就关机/重启,永远启动不起来了
21.2 查看当前系统运行级别 :runlevel,会出现两个,第一个是当前级别的之前级别如果开机后直接进入没有切换运行级别,那这个值就是N; 第二个值就是当前级别
21.3 临时切换运行级别 init 5(级别),此时在运行runlevel,第一个级别就是切换之前的3,第二个就是当前已经切换的级别5。如果图形界面没有安装,会报错的,但是此时运行runlevel,系统还是认为进入了5图形界面
22 退出登陆 :logout
在服务器上做完操作之后,一定要logout,否则被其他人使用就死翘翘了
23、命令行常用操作
23.1 删除命令行中光标所在处之前所有内容:ctrl + u
23.2删除命令行中光标所在处之后所有内容:ctrl + k
23.3撤销上一次删除(ctrl+u或者ctrl+k)的命令行中的内容:ctrl + y
23.4 清楚屏幕:ctrl + l
23.5 将光标移动到行开头:ctrl + a
23.6退出当前终端 :ctrl + d
23.7 暂停任务并放入后台:ctrl + z
24、history命令
24.1 history -w :将内存历史命令写入家目录下的.bash_history文件中
24.2 history -c:清空历史命令(一般不建议执行)
24.3 .bash_history默认最大存入1000条,在/etc/profile文件中修改HISTSIZE
24.4 !n重复执行第几条
!!重复上一条(按上箭头也一样)
!字符串(!service) 会执行最后一条包含字符串service的命令
25、 查看先走系统的别名 :alias
25.1 命令优先级:绝对路径>想对路径>别名>环境变量
25.2 临时定义别名(重启不生效):alias vi = "vim"
25.3 永久定义别名(写入文件,重启生效):编辑家目录/.bashrc; alias vi = "vim"
25.4 删除临时别名 unaries vi
26 wc -c(统计字节数)、-l(统计行数)、-w(统计单词数量) 文件名
wc < xxx.xx //统计xxx.xx的字节数、单词数、统计行数量
wc -l < xxx.xx //只统计行数量
27、通配符(用来匹配文件名的)
?:匹配任意一个字符
*:任意0个或多个
[]:匹配一个字符,[abc]只能匹配abc中一个。【注】:是一个
[-]:[a-z],匹配a-z中一个。【注】:是一个
[^]:[^0-9]取反,匹配一个不是0-9的字符。【注】:是一个
28、特殊符号
“”:输出字符串,双引号中所有特殊符号有自己的意义
‘’:输出字符串,单引号中所有特殊符号也是字符串处理
··(esc下面的反引号)与$()一样:推荐使用$(),这个里面包含的是系统命令,用来引用系统命令。eg : abc = $(date)
#:用来注释的
$:用于调用变量的值。eg:$abc
\:转移。将本来用意义的字符编程没意义的字符
29、判断服务是否启动
方法一:ps aux | grep xxx //这种方法判断,如果xxx服务死掉了死机了,成了僵尸进程,看不出来,ps此进程还会在,不一定准
方法二:netstat -tuln //判断端口,与方法一一样,不准,
方法三:nmap -sT 本机ip地址 // -sT扫描本地tcp协议开启的服务,默认没有安装,需要自己yum安装