Linux常用命令学习笔记
一、文件处理命令
ls
:查看文件
ls -a
查看隐藏文件;ls -l
查看文件详细信息;ls -d
查看指定目录;ls -h
查看文件大小;ls -i
查看文件i节点
mkdir [目录名]
:创建目录
mkdir -p [目录名]
:创建多层目录
rmdir
:删除空目录
pwd
:显示当前路径
cp [src] [dst]
:复制
cp -r [原目录] [目标目录]
:复制目录cp -p
:保留复制文件的熟悉
mv [原文件或目录]
:剪切、移动文件或目录
rm
:删除文件
rm -r
:删除目录;rm -rf
:删除目录或文件
touch [文件名]
:创建空文件
cat [文件名]
:显示文件内容
cat -n
:显示文件内容并添加行号tac
:反向显示文件内容
more [文件名]
:分页显示文件内容;less [文件名]
(与more类型,less不同点在于可以上翻并且可以查找内容)
head [文件名]
:显示文件前几行( -n指定行数,不指定时默认显示前10行)
tail [文件名]
:显示文件后几行( -n指定行数,不指定时默认显示后10行),tail -f
:动态显示文件末尾内容。
ln [目标文件] [链接文件]
:生成链接文件(硬链接)
ln -s
:创建软链接(类似快捷方式),软链接权限均是rwxrwxrwx- 硬链接类似拷贝+同步更新,i节点与原文件相同,不能跨分区,不能应用于目录
二、权限管理命令
chmod [文件或目录]
:更改权限。语法:chmod [(ugoa)(+—=)(rwx)] [文件或目录]
或chmod [421] [文件或目录]
chmod -R
:递归修改权限- r-4,w-2,x-1
chown
:改变文件或目录所有者
chown [用户] [文件或目录]
chgrp
:改变文件或目录所属组umask
:查看缺省权限
三、文件搜索命令
find
:搜索文件
find [范围] [匹配条件]
find -name
:按文件查找名字(-iname不区分大小写);find -size
:按文件大小查找(+n大于,-n小于,n等于);find -user
:按文件所有者查找;find -group
:按文件所属组查找;find -amin
:按访问时间查找;find -cmin
:按文件属性查找;find -mmin
:按文件内容查找;find -inum
:根据i节点查找。
locate [文件名]
:在文件资料库中查找文件,updatadb
更新资料库,locate无法查找位于tmp目录下的文件,不属于资料库收录范围。
which [命令]
:搜索命令所在目录及别名信息
whereis [命令]
:搜索命令所在目录及帮助文档所在目录
grep [查找对象][文件名]
:在文件中查找指定字符串,并将这一行显示出来(-v排除指定字符串)
四、帮助命令及用户管理命令
man
:查看帮助信息
help
:查看shell命令帮助信息
whatis
:查看命令含义
命令 --help
:查看后缀信息
useradd [用户名]
:添加用户
passwd [用户名]
:设置用户密码
五、压缩解压命令
gzip [文件名]
:压缩文件 (不能压缩目录,不能保留原文件).gz
gunzip
:解压文件
tar [压缩名] [目录名]
:打包目录 .tar
tar -cvzf [压缩名] [目录名]
:打包并压缩 .tar.gztar -xvzf [压缩文件名]
:解压压缩文件
zip [压缩名] [文件或目录]
:压缩文件或目录 .zip(zip -r 压缩目录)
unzip
:解压缩
bzip2 [文件]
:压缩文件
bzip2 -k [文件]
:压缩文件后保留原文件bunzip2 [文件]
:解压缩文件
六、网络命令
write [用户名]
:给用户发送信息
wall [发送内容]
:给所用用户发送信息
ping -c(指定次数)IP地址
:测试网络连通性
ifconfig
:查看和设置网卡信息
mail [用户名]
:发送邮件
last
:查看用户登入记录
lastlog
:列出所有用户
tracemoute
:显示数据包到主机间的路径
netstat
:显示网络相关信息
setup
:配置网络
mount [-t 文件系统] 文件名 挂载点
:挂载命令,umount
:取消挂载
七、关机重启命令
shutdown [选项] 时间
:关机。-c:取消前一个关机命令,-h:关机,-r:重启
half
、poweroff
、inito
reboot
、init6
:重启
Vim文本编辑器
1.设置行号:set number
2.迅速移动光标:gg到第一行,G到最后一行,nG到第n行,$移至行尾,D移至行首
3.删除命令:x,nx,ndd,dG,D,:n1,n2d
4.复制、剪切:nyy复制,ndd剪切,p、粘贴
5.替换和取消:r、R(替换模式),u(撤回)
6.搜索和搜索替换:/string(搜索固定字符串)、:%s/old/new/g(全文替换)、:n1,n2s/old/new/g(范围内替换)
7.保存
:w保存修改、:w filename 另存为指定文件名、:wq保存并退出(ZZ)、:q!不保存修改退出、:wq!保存修改并退出(root权限)
8.连续行注释:n1,n2s/^/#/g
9.输入替换 ab
Shell脚本执行方式
举例:hello.sh
#!/bin/bash ##shell脚本开头必须写
echo "hello world!!!"
运行方式:
#赋予脚本文件执行权限,直接运行(用相对路径或者绝对路径)
#相对路径
./hello.sh
#绝对路径(假设在根目录下)
/root/hello.sh
终端命令的一些快捷键
ctrl + a 光标移至行首
ctrl + e 光标移至行尾
ctrl + c 终止当前命令
ctrl + u 删除、剪切命令
ctrl + y 粘贴命令
ctrl + s 暂停屏幕输出
ctrl + q 恢复屏幕输出
输入输出重定向、接盘输入
#标准输出
命令 > 文件 (将命令的输出覆盖写入指定文件中)
命令 > > 文件 (将命令的输出追加写入指定文件中)
#标准错误输出
命令 2 > 文件 (将命令的错误输出覆盖写入指定文件中)
命令 2 > > 文件 (将命令的错误输出追加写入指定文件中)
#正确输出和错误输出同时保存
命令 &> 文件
命令 &>> 文件
#输入重定向
命令 < 文件
#接收键盘输入
read [选项] [变量名]
-p "提示信息" ;-t 秒数; -n 指定输入字符数
-s 隐藏输入数据
多命令顺序执行
命令1;命令2 (顺序执行命令)
命令1 && 命令2(逻辑与,1执行,2才会执行)
命令1 || 命令2(逻辑或,1执行不正确,2才会执行)
管道符、通配符
#管道符
命令1 | 命令2(命令1的输出作为命令2的操作对象)
#通配符
? #匹配任意一个字符
*#匹配多个任意字符
[] #匹配中括号中任意一个字符([ - ] , - 代表范围,例如[a-z])
[^] #匹配不是中括号中的一个字符,如[^0-9]匹配不是数字的字符
Shell基础
- 基础正则表达式
linux中正则用来在文件中匹配符合条件的字符串,而通配符用来匹配符合条件的文件名
- 字符截取命令
cut [选项] 文件名(-f:提取第几列;-d:按照分割符分列,不能分割空格)
printf (格式化输出)
awk '条件 {动作}' 文件名
sed [选项] '[动作]' 文件名
-n输出屏幕;-e 对输入数据应用多条sed命令;-i sed的修改结果直接修改文件
- 流程控制语句-if语句
#单分支if条件语句
if [条件判断式];then
程序
fi
或
if [条件判断式]
then
程序
fi
#双分支if条件语句
if [条件判断式]
then
程序
else
程序
fi
#多分支if条件语句
if [条件判断式]
then
程序
elif [条件判断式]
then
程序
else
程序
fi
- case语句
case $变量名 in
"值1")
程序
;;
"值2")
程序
;;
...
esac
- for循环
for 变量 in 值1 值2 值3
do
程序
done
或
for((初始值;条件;变量变化))
do
程序
done
- while循环、until循环
while [条件判断式](条件成立时执行)
do
程序
done
until [条件判断式](条件不成立时执行)
do
程序
done