Linux必会知识点及命令

基本命令

type:命令类型   -外部命令 & 内部命令

help:内部命令帮助

man:帮助手册

whereis:定位命令

file:文件类型

echo:打印到标准输出

$PATH:环境变量:路径

pwd:当前路径

按住Ctrl删除字符


文件系统

df -h 显示磁盘使用情况

du -sh ./* 显示文件系统使用情况

文件系统层次化标准

/boot: 系统启动相关的文件,如内核

/dev:设备文件

/etc:配置文件

/home:用户的家目录,每一个用户的加目录通常默认为/home/username

/root:管理员的家目录

/lib:库文件

/opt:可选目录,第三方程序的安装目录

/mnt:挂载点目录,额外的临时文件系统

/var:可变化的文件,如存放日志

/bin:可执行文件,用户命令

/sbin:管理命令


常用命令

cd     :回家
cd  .. :返回上一级目录
cd  -  :返回上一步目录

mkdir a:创建a目录
mkdir -p ./a/b/c:深度创建目录
mkdir ./a ./b ./c:垂直创建目录(或mkdir ./{a,b,c})

rm 文件名:有提示的删除
rm -f 文件名:强制删除
rm -rf 目录名:递归删除

cp a.log /tmp:复制文件
mv a.log /tmp:移动文件
mv a.log b.log:重命名

ln -s a.log a:ln创建软链接(相当于windows中的快捷键)
ln a.log a:ln创建硬链接(ls -li可以看到a的磁盘索引位置和a.log相同,相当于Java对象引用)

stat a.log:查看文件元数据(文件名称、大小、Access,Change时间-元数据修改会更新,Modify时间)

touch a.log:输入命令stat a.log会发现Access、Modify、Change时间都同步了(a.log存在)/创建a.log(a.log不存在)


文件预览 && 管道命令

cat 文件名:全量读
more 文件名:从上往下读
less 文件名:按b可以往回读取
head 文件名:显示前10行;head -3 a.log:显示前3行
tail 文件名:显示后10行;
head -3 文件名 | tail -1:显示文件的第3行
tail -f a.log:监控a.log文件,动态观察

管道命令:将 | 前面的输出作为 | 后面的输入

echo “hello world” 1>>a.log:将hello world追加到a.log中(1表示输出,>>表示追加)


VI编辑器:编辑模式,输入模式,末行模式


grep && 正则表达式

grep "after" a.log:在文件a.log中查找包含after的行
grep -v "after" a.log:在文件a.log中查找包含after的行


wc:行数统计

awk:强大的文本分析根据,把文件逐行读入,空格符、制表符为默认分隔符
awk  -F':'   '{ print $1}'  a.log:将a.log每行按:分割,并输出分割后的第一列


用户权限与管理

useradd user1:添加用户,然后在home目录下可以看到
passwd user1 密码:添加密码
groupadd group1
usermod -a -G group1 user1
chown root:group1 groupfile
chmod 777 goupfile


Linux软件安装

1)源码安装
解压,分编译,安装过程

2)rpm安装
rpm  -i   jdk-7u67-linux-x64.rpm
rpm查询已经安装的包:rpm -qa | grep "jdk"

3)yum安装
C/S架构,基于rpm包管理,提供rpm仓库
查看配置的仓库地址:yum repolist
yum安装与卸载:yum install xxx;yum remove/erase;


Shell脚本/bash命令

一切皆命令,内置命令,外部命令,方法函数

文件执行:
当前进程打开命令执行:source  a.txt  或  .  a.txt 
新建进程打开命令执行:./a.txt (文件头部加入 #! bin/bash) 或 bash  a.txt

重定向
将ls显示的内容标准输出到ls.txt文件中:ls  -l   /a  /b  1>ls.txt   (>内容覆盖;>>内容追加;1表示标准输出;2表示错误输出;>表示重定向操作符;1和>之间不能有空格;)
错误/正确输出到同一个文件中:
ls   -l  /a  /b   2>& 1    1>  ls.txt  这个还是有问题,如果ls展示的目录不存在就是错误,从左到右执行,2指向1,1还没指向ls.txt
ls   -l  /a  /b  1> ls.txt   2>& 1   
ls   -l  /a  /b  >&  ls.txt   或  ls   -l  /a  /b  &>  ls.txt

变量定义:
name=Tom
echo $name
echo ${name}"aaa"

echo $$ 打印当前进程ID

echo "-------cuttlefish项目自动化部署--------"
echo "--            1.清空日志             --"
echo "--            2.重启服务             --"
echo "--            3.更新部署             --"
echo "---------------------------------------"

echo -n "请输入功能号:"
read funcode
if [[ "$funcode" =~ [0-9] ]];then
	deal "$funcode"
else
	echo -e "\033[31m输入合法数字:1 或 2 或 3 !!! \033[0m"
fi

#遍历输出a、b、c、d
for i in a b c d;do 
    echo $i;
done

# 输出1-10
seq 10
for i in 'seq 10';do 
    echo $i;
done

# for循环读文件并每行输出
num=0
lines='cat test.txt | wc -l'
for ((i=1;i<=lines;i++));do
    line='head -$i test.txt | tail -1'
    echo $line
    ((num++))
done
echo num:$num

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值