Linux学习笔记

来源:互联网 发布:软件销售代理协议 编辑:程序博客网 时间:2024/06/07 01:54
命令提示符:
[root@localhost ]
root: 当前登录用户
localhost 主机名
~ 当前所在目录
# 超级用户提示符
$ 普通用户提示符
 
命令格式:
命令[选项][参数]
-a 等于 --all


ls[选项][文件或目录]
选项:
-a  显示所有文件,包括隐藏文件
-l 显示详细信息  -lh
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode
“.”开头的文件是隐藏文件


-rw-r--r--.
.代表ACL权限
文件类型(-文件 d目录 |软链接文件(快捷方式))
rw-       r--       r--
u所有者   g所属组   o其他人   
r读   w写  x执行


文件处理命令
目录处理命令
建立目录:mkdir
mkdir -p [目录名]
-p 递归创建   myfile/file  创建二级目录
切换所在目录: cd
cd[目录]
cd ~ 进入当前用户的家目录
cd
cd - 进入上次目录
cd .. 进入上一级目录
cd . 进入当前目录
相对路径:参照当前所在目录,进行查找
[root@imooc ~]#cd ../usr/local/src/
绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置
[root@imooc ~]#cd /etc/
rmdir[删除空目录]   删除目录(用的极其少)
rm -rf [删除目录] 强制删除(不可恢复)
-r  删除文件
-f 强制
 
复制命令 : cp
cp [选项][原文件或目录][目标目录]
选项:
-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr

剪切或改名命令:mv
mv[源文件或目录][目标目录]
注意:tab键可以进行提示与补全
常用目录的作用
/根目录
/bin命令保存目录(普通用户就可以读取的命令)
/boot启动目录,启动相关文件
/dev设备文件保存目录
/etc配置文件保存目录
/home普通用户的家目录
/lib系统库保存目录
/mnt系统挂载目录
/media挂载目录
/root超级用户的家目录
/tmp临时目录
/sbin命令保存目录(超级用户才能使用的目录)
/proc直接写入内存的
/sys
/usr系统软件资源目录
/usr/bin/系统命令(普通用户)
/usr/sbin/系统命令(超级用户)
/var系统相关文档内容
链接命令 :ln
ln -s [原文件][目标文件] 注:原文件要写绝对路径
功能:生成链接文件
 选项:-s 创建软链接
硬链接特征:
1、拥有相同的i节点和存储block块,可以看做是同一个文件
2、可以通过i节点识别
3、不能跨分区
4、不能针对目录 使用
不建议创建硬链接
软链接特征:
1、类似Windows快捷方式
2、软链接拥有自己的I节点和Block块,但是数据块中只保存原文件的文件名和I节点号,并没有
实际的文件数据
3、Irwxrwxrwx |软链接文件权限 需要看原文件权限
4、修改任意文件,另一个都改变
5、删除原文件,软链接不能使用 
推荐使用软链接
 
 文件搜索命令
locate 文件名  搜索速度快,但只能按照文件名进行搜索
/var/lib/mlocate #locate命令所搜索的后台数据库 (不是实时更新一天一更新)
updatedb 更新数据库
/etc/updatedb.conf配置文件
PRUNE_BIND_MOUNTS = "yes"
#开启搜索限制
PRUNEFS = 
#搜索时,不搜索的文件系统
PRUNEPATHS = 
#搜索时,不搜索的路径
 
命令的搜索命令 whereis
whereis [选项] 命令名
选项:
-b: 只查找可执行文件
-m:只查找帮助文件
which [] 命令名 (显示别名)
find命令 (完全匹配)在系统中搜索符合条件的文件名
find[搜索范围][搜索条件]
    * 匹配任意内容 find  /root -name "ab*"
    ? 匹配任意一个单独的字符  find  /root -name "ab?"
    [] 匹配任意一个中括号内的字符find /root -name "*[cd]" 文件结尾为c或者d的文件
   
    find /root -iname install.log 搜索的文件名不区分大小写
    find /root -user root 按照所有者搜索
    find /root -nouser 查找没有所有者的文件
   
    find /var/log/ -mtime +10 查找10天前修改的文件
    -10 10天内修改的文件
    10 10天当天修改的文件
    +10 10天前修改的文件
    atime 文件访问时间
    ctime 改变文件属性
    mtime 修改文件内容
   
    find . -size 25k #查找文件大小是25KB的文件
    -25k 小于25kb的文件
    25k 等于25kb的文件
    +25k 大于25kb的文件
   
    find . -inum 262422 #查找i节点是262422的文件   "."当前目录
    搜索千字节小写 “k” 搜索兆字节 大写“M”
   
    find /ect -size +20k -a  -size  -50k
    #查找/ect/目录下,大于20KB并且小于50KB的文件
    -a and 逻辑与,两个条件都满足
    -o or  逻辑或,两个条件满足一个即可
   
    find /ect -size +20k -a - size -50 -exec ls -lh {} \;
    #查找/ect/目录下,大于20KB并且小于50KB的文件,并显示详细信息
    #-exec/-ok 命令{}\; 对搜索结果执行操作
   
    搜索字符串的命令 grep (包含匹配)
    grep [选项] 字符串 文件名
    选项:
-i   忽略大小写
-v 排除指定字符串
    
 帮助命令
帮助命令man

man 命令
man ls       (q退出)
man -k 命令  #查看和命令相关的所有帮助
man -f ls    #查看命令级别
其他帮助命令
选项帮助
命令  --help
ls  --help
shell内部命令帮助
help shell内部命令  #获取shell内部命令的帮助

whereis cd  #确定是否是shell内部命令
help cd #获取内部命令帮助
 
 压缩命令
常见的压缩格式: .zip  .gz  .bz2  .tar.gz  .tar.bz2
.zip格式压缩
zip 压缩文件名  源文件  #压缩文件
zip -r 压缩文件名 源目录  #压缩目录
unzip 解压缩 #解压缩.zip文件

.gz格式压缩
gzip 源文件  #压缩为.gz格式的压缩文件,源文件会消失
gzip -c 源文件 > 压缩文件  #压缩为.gz格式,源文件保留
gzip -r 目录 #压缩目录下的所有的子文件,但是不能压缩目录
.gz格式解压缩
gzip -d 压缩文件  #解压缩
gunzip  压缩文件  #解压缩

.bz2格式压缩(bzip2不能压缩目录)
bzip2 源文件   #源文件会消失
bzip2 -k 源文件   #压缩之后保留源文件  
.bzip2解压缩
bzip2 -d 压缩文件 #解压缩 -k保留压缩文件
bunzip2 压缩文件  #解压缩 -k保留压缩文件

打包命令tar
tar -cvf 打包文件名 源文件 
选项:
-c: 打包
-v: 显示过程
-f: 指定打包后的文件名
例:tar -cvf longls.tar longzls

解打包命令
tar -xvf 打包文件名
选项:
-x: 解打包
例:tar -xvf longzls.tar
.tar.gz压缩格式 
tar -zcvf 压缩包名.tar.gz  源文件
tar -ztvf 压缩包名.tar.gz 查看压缩文件
选项:
-z: 压缩为.tar.gz格式 
tar -zxvf 压缩包名.tar.gz
选项:
-x: 解压缩.tar.gz.格式
.tar.bzip2
tar -jcvf 压缩包名.tar.bz2 源文件
tar -jtvf 压缩包名.tar.bz2 源文件
选项:
-z: 压缩为.tar.bz2格式 
tar -jxvf 压缩包名.tar.bz2
选项:
-x: 解压缩.tar.bz2格式

 关机和重启命令
shutdown命令
shutdown [选项] 时间
选项:
-c: 取消前一个关机命令
-h: 关机
-r: 重启
shutdown -r now 

 其他常用命令
挂载命令(挂载:把分区和目录对应的过程就叫做挂载)
1、查询与自动挂载
mount   #查询系统中已经挂载的设备
mount -a #依据配置文件/ect/fstab的内容,自动挂载

rz文件上传命令
scp 将本地文件拷贝到远程服务上的指定目录
scp 文件  admin@10.25.1.202:/home/admin
touch命令 创建文件
ssh 命令只需要指定用户名和主机名参数即可.  ssh bd101
 
编辑配置文件,配置环境变量
vim /etc/profile
vi /etc/profile
:wq 储存后离开
添加如下内容:JAVA_HOME根据实际目录来
JAVA_HOME=/usr/java/jdk1.8.0_60
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
 
./startup.sh 启动tomcat
./shutdown.sh 停止tomcat
 
echo输出命令
echo[选项][输出内容]
-e:支持反斜线控制的字符转换
 
 shell脚本
vi hello.sh
#!/bin/bash
 
echo -e "\e[1;34m天上掉下个林妹妹 !\e[0m"
 
脚本执行
赋予权限,直接运行
chmod 755 hello.sh
./hello.sh
通过Bash调用执行脚本
bash hello.sh
 
 Bash基本功能
1、命令别名与快捷键
alias查看系统中所有的命令别名
vi ~/.bashrc 写入环境变量配置文件
unalias别名 删除别名
设定别名:alias ls='ls --color=never'
 alias rm='rm -i' 
常用快捷键
ctrl + c 强制终止当前命令
ctrl + l 清屏
ctrl + a 光标移动到命令行首
ctrl + e 光标移动到命令行尾
ctrl + u 从光标所在位置删除到行首
ctrl + z 把命令放入后台
ctrl + r 在历史命令中搜索
2、历史命令
history[选项][历史命令保存文件]
选项:
-c:清空历史命令
-w:把缓存中的历史命令写入历史命令保存文件 ~./bash_history
使用上、下箭头调用以前的历史命令
使用"!n"重复执行第n条历史命令
使用"!!"重复执行上一条命令
使用"!字串"重复执行最后一条以该字开头的命令
3、输出重定向
标准输入输出
设备 设备文件名文件描述符  类型
键盘 /dev/stdin    0 标准输入
显示器 /dev/sdtout1 标准输出
显示器 /dev/sdterr2 标准错误输出
标准输出重定向 命令 > 文件 以覆盖的方式,把命令的正确输出
输出到指定的文件或设备当中
命令 >> 文件 已追加的方式,把命令的正确输出
输出到指定的文件或设备当中
标准错误输出重定向 命令>文件 以覆盖的方式,把命令的错误输出
输出到指定的文件或设备当中
(注意>>两边空格) 命令>>文件 已追加的方式,把命令的错误输出
输出到指定的文件或设备当中
正确输出和错误输出同时保存
命令 > 文件 2>&1 以覆盖的方式,把正确输出和错误输出都保存在同一个文件当中
命令 >> 文件 2>&1 以追加的方式,把正确输出和错误输出都保存到统一个文件当中
命令 &>文件  以覆盖的方式,把正确输出和错误输出都保存到同一个文件当中
命令 &>>文件 以追加的方式,把正确输出和错误输出都保存到同一个文件当中
命令>>文件1 2>>文件2 把正确的输出追加到文件1中,把错误的输出追加到文件2中
输入重定向
wc [选项][文件名]
选项:
-c统计字节数
-w统计单词数
-l统计行数
4、多命令顺序执行
; 命令;命令 
&&  命令1 && 命令2
|| 命令1||命令2 只执行一个命令
管道符
命令1|命令2     命令1的正确输出作为命令2的操作对象
例如:ls -l | more

5、shell中特殊符号
   通配符:
?  匹配一个任意字符
*  匹配0个或者任意多个任意字符
[] 匹配中括号中任意一个字符
[-]匹配中括号中任意一个字符,-代表一个范。 例:[a-z]
[^]逻辑非,表示匹配不是括号内的一个字符。 例:[^0-9]

''单引号。在单引号中所有的特殊字符,如“$”和“`”都没有特殊意义
""双引号。在双引号中特殊符号都没有特殊含义,但是“$”、“`”和“\”是例外
 拥有“调用变量的值”、“引用命令”和“转义字符”的特殊含义
``反引号。反引号括起来的内容是系统命令,在Bash中会先执行它。和$()作用是一样的。
$()  和反引号作用一样,用来引用系统命令。
# 在Shell脚本中,#开头的行代表注释
$ 用于调用变量的值,如需要调用变量name的值时,需要用$name的方式得到变量的值
\ 转移符,跟在\之后的特殊符号将失去特殊含义,变为普通字符。如\$将输出“$”符号,
 而不是当做是变量引用。
原创粉丝点击