linux严格区分大小写,注意和doc是不一样的
linux的所有内容都以文件的形式保存,包括硬件
linux没有扩展名的这种名称的
占用的系统资源更少
减少了出错,减少了被攻击的可能性
ide 硬盘”、: /dev/hd*
scsi usb sata : /dev/sd*
[root@loclalhost ~]#
root 当前登录用户
localhost 主机名
~当前所在的目录#
超级用户的提示符$
如果是普通用户的话,就显示$
命令 [选择] [参数]
注意
-rw-r--r--
文件类型:看第一位:如果是-文件 d目录 l软连接文件
rw- (u所有者)r--(g所属组)r--(o其他人): rwk r:red w:write写 x:执行
ls [选项] [file/dir]
选项:-a 所有的文件包括隐藏的 -l详细信息
-d查看目录属性 -h人性化显示文件大小 -i显示inode
linux的隐藏文件:以.
开头的文件
-p 递归创建 (目录名称是一串多个目录的时候)
cd [目录]
简化操作
cd ~ 当前用户的家目录
cd 同上
cd - 进入上次目录
cd .. 进入上一级目录
cd. 进入当前目录
绝对路径:
cd /etc/这个就是从根目录开始的
cd ../etc/这个就是相对路径的
只能删除非空目录 这里删除的比较少
rm -rf /japan/
参数 -rf
r 表示删除目录
f 强制删除(不再疑问)
cp 【选项】 【源文件/目录】 【目标文件/目录】
-r 复制目录
-p 连带文件属性复制
-d 源文件是链接文件,就复制链接属性
-a 相当与 -pdr
mv [源文件或目录] [目标目录]
剪切 ,没有-r
如果源文件和目标文件在同一个文件下,就是改名
如果源文件和目标文件不在同一个文件下,就是剪切
/bin
/sbin 命令保存目录 超级用户才能使用
/usr/bin/系统命令 普通用户
/usr/sbin /系统命令超级用户才能使用
以上都是用来保存系统命令的,区别在于普通权限还是超级用户权限
/boot 启动目录
/dev 特殊文件保存目录
/etc系统的配置文件
/lib 函数库的保存位置
以下三个是空目录,用来挂载外接的设备的
/media
/mnt
/misc
以下两个是挂在内存的盘符:
/sys
/proc
临时目录:/tmp
系统软件资源目录 /usr/
系统相关的文档内容/var
link
生成链接文件
选项 -s 创建软链接
硬链接特征:
软连接的特点:
速度最快
localte 文件名
在后台数据库中按文件名搜索,速度更快/var/lib/mlocate
会在这个里边进行搜索,而不会搜索实际的文件,这个数据库一天一更新,所以找不到新建的文件
updatedb
这个命令强制更新数据库locate locate
这个查看locate的文件命令
eg:
locate changls//只能根据文件名来查看
在文件/etc/updatedb.com
配置文件中
prune_bind_mounts = "yes"开启搜索x限制
prunefs = 不搜索的文件系统
prunenames= 不搜索的文件类型
prunepaths 不搜索的路径
whereis 命令名
搜索命令所在的位置:whereis ls
这个就是查看命令文件的
选项:-b 只查找可执行文件
-m 只查找帮助文件
which命令:
搜索文件所在的路径一及别名能够看到文件的别名which ll
alias ll='ls -l --color=auto'
/usr/bin/ls
完全匹配
find [范围] [文件名]
find / -name install.log
#根据名字搜索
find / -iname install.log
# iname名字不区分大小写
find /root -user root
#根据所有者查询
find /root -nouser
#没有所有者的文件
find /var/log/ -mtime +10
#查找十天前修改的文件
find . -size 25k
# 注意:这里的k是小写,然后M是大写
# 查找文件大小是25k的文件
find . -inum 262422
# 查找inum结点是26422的文件
-10 10天内修改的文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问的时间
ctime 改变文件属性
mtime 修改文件内容
find在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符,通配符是完全匹配的
find的复杂操作
find /etc -size +20k -a -size -50k
# -a表示 and 逻辑与
# -o 表示 or 逻辑或
find /etc -size +20k -a -size -50k -exec ls -lh {} \;
查找 并且显示详细的信息
# -exec/-ok 命令{} \对搜索结果执行操作
-exec/ (这里填写执行情况) {} \ ;这是一个固定的命令格式
*
?表示任意一个字符
[ab]表示匹配a或者是b
grep [选项] 字符串 文件名
在文件当中匹配符合条件的字符串
-i 忽略大小写
-v 排除指定字符串
其实就是在后头的文件中找到关键字对应的信息
find:
系统当中搜索符合条件的文件名,需要完全匹配
grep 文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式也是包含匹配
查看文件说明
man -f 相当于 whatis命令 查看有哪些对应的帮助等级
举例:
man -5 passwd
man -4 null
man -8 ifconfig
man的级别
查看和命令相关的所有的帮助:
man -k 命令
相当与 apropos命令
help cd
常见的五种压缩格式: .zip/ .gz/ .bz2 /.tar.gz/ .tar.bz2
zip 压缩文件名 源文件(压缩文件)
zip -r 压缩文件名 源文件 (压缩目录)加个-r就是目录
.gz 类型的文件
gzip 源文件 (源文件会丢失)
gzip -c 源文件 > 压缩文件
尖括号>用来输出文件,就比如 ls > abc 就把ls下所有输出的东西写到了abc文件中
压缩为.gz格式的文件,但是源文件保留
gzip -r 目录
压缩目录下的所有的子文件,但是不能压缩目录
解压文件 gzip -d 压缩文件
以上为解压缩文件
gunzip 压缩文件
解压缩文件
gzip压缩目录有问题
.bz2格式,但是不保留源文件
-k 无论在压缩还是解压缩的是后,都保留了原来的文件
bzip2 -k 源文件 压缩后保留源文件
注意;bzip2命令不能压缩目录
解压缩: bzip2 -d 压缩文件/bunzip2 压缩文件
tar -cvf 打包文件 源文件
-c 打包 -v 显示过程 -f 指定打包后的文件名
tar -xvf 打包文件名
-x 解打包
如果打包加压缩成gz
tar -zcvf 压缩包名.tar.gz 源文件
解压缩加解包tar -zxvf 压缩包名.tar.gz 源文件
如果打包加压缩成bz2tar -jcvf 压缩包名.tar.bz2 源文件
解压加解打包tar -jxvf 压缩包名.tar.bz2
shutdown [选项] 时间
-c 取消前一个关机命令 -h关机 -r 重启shutdown -r 05:30 &
这个&的作用是在后台执行,倒时候会自动执行
时间可以是now
halt /poweroff /init 0
都不会很安全
reboot /init6
系统的运行级别:
0 关机
1 单用户
2 不完全多用户,不含nfs服务
3 完全多用户
4 未分配
5 图形界面
6 重启
logout 推出登陆
用户登陆查看和用户交互命令
mount 挂载命令
mount -a 依据配置文件,/etc/fstab的内容,自动挂载
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
选项:
-t 文件系统,制定挂载的类型,可以是ext3 ext4 iso9660等文件系统
-o特殊选项:可制定挂载的额外选项
赋予执行权限:
chmod 755 [filename]
#!/bin/bash
#第一行必须是上边的那句话,不可省略
echo "helloworld "
命令输出
-用户名 登陆终端 ip最后一次登陆时间
1、 echo输出命令echo [选项] [输出内容]
选项:
\a 警告 \n换行 \b 退格,左删除\r回车\t制表\v垂直制表\Onnn 按八进制输出字符\xhh十六进制输出字符
第一个脚本
[root@localhost filegz]# vi testsh
然后执行
#!/bin/bash
# The first programe
echo -e "hello world"
调用的时候,两种方式:
./test.sh
或者是bash test.sh
bash 的基本功能:
1、命令别名与快捷键
查看所有的别名:alias
设值别名:注意自己别随便添加空格alias ls='ls --color =never'
写入环境变量配置文件vi ~/.bashrc
删除别名unalias 别名
命令生效的顺序:
1、 第一顺位执行用绝对路径或者是相对路径执行的命令
2、执行别名
3、执行bash的内部命令
4、执行按照$path环境变量定义的目录查找顺序找到的第一个命令
快捷键
2、历史命令
上下箭头来调用
使用 !n
重复执行第n条历史命令
使用 !!
上一条历史命令
使用 !字符串
重复执行最后一条以该字串开头的命令
history [选项] [历史命令的保存文件]
-c 清空历史命令 -w 把缓存中的历史命令写入历史命令保存文件 ~/.bash_history
历史命令中默认保存1000条,如果不满意可改变/etc/profile/
HISTSIZE=10000
命令文件的补全:Tab键盘
命令补全以来Path目录 echo $PATH
3、输出重定向
标准输出重定向(只有正确的是后)
命令 > 文件 命令的内容写到文件中
命令 >> 文件 命令的内容追加到file中
标准错误输出
命令 2>> file 追加的是错误的信息
命令 2>file 覆盖的是错误的信息
如果是错误输出,大于号左边是不能有空格的
如果一个文件错误不错误的信息都输入到这个文件中:
ifconfig longzls >> test2.log 2>&1
同时保存:
命令 > 文件 2>&1 # 覆盖的形式
命令 >> 文件 2>&1 # 追加的形式
命令 &>文件 #覆盖的方式
命令 &>>文件 #追加的方式
命令>>文件1 2>>文件2 #正确的输出追加到文件1中,错误的输出追加到文件2中
输入重定向:
wc [选项][file]
-c 统计直接数
-w t统计单词数
-l 统计行数
之后ctrl +d 就能看了
4、多命令顺序执行
; 多个命令顺序执行,命令之间没有任何逻辑联系
&& 逻辑与前边执行,后头才会执行,1不对,短路
|| 逻辑或,命令1执行不正确,命令2才会执行
管道符
命令1 | 命令2 命令1的正确输出作为命令2的操作对象
5、shell中的特殊符号
通配符:
正则表达式:
其他的特殊符号:
#
注释