Linux命令大全

系统命令:

#显示操作系统的发行版号
uname -r
#查看系统信息
cat /etc/os-release
#将数据由内存同步到硬盘中
sync
#立马关机 
shutdown -h now
#重启 
reboot
#将主机名设置为iokla
hostnamectl set-hostname iokla
#查看软件文件安装路径
whereis eclipse
#查看ssh状态
systemctl status sshd.service
#启动ssh服务
systemctl start sshd.service
#重启ssh服务
systemctl restart sshd.service
#开机ssh自启
systemctl enable sshd.service
#查看所有启动项,查看开机启动项
systemctl list-unit-files
systemctl list-unit-files --type=service | grep enabled 

// 显示自己当前的用户名
whoami
// 显示所有在线用户
who

// 切换到root用户,使用root的权限
su root
// 切换到root用户,不仅使用root的权限,而且环境变量 切换到root用户所配置的状态
su - root

// 显示内存实时状态
// 单位:MB
// 刷新间隔:10秒
free -m -s 10

// 打开资源管理器
top

// 列出进程
ps -aux

// 管道操作
// 把命令返回的内容,作为参数传到bbb命令,再执行bbb命令
aaa | bbb

// 杀进程
kill 进程号
pkill 进程名

重启与关机

// 重启
reboot
// 关机
shutdown

相对路径与绝对路径

// 相对路径 前进
cd 目录
// 相对路径 后退
cd ..
// 绝对路径 直达
cd /目录1/目录2
// 绝对路径 直达根目录
cd /
// 绝对路径 直达home目录
cd ~

mkdir 目录

// 复制文件内容
cp 源文件 目标文件
// 复制目录(递归)
cp 源目录 目标目录 -R

mv 源文件 目标文件

touch 文件

删除文件/目录

// 删除空目录
rmdir 目录
// 删除文件/目录
rm 文件/目录
// 删除文件/目录(递归、强制)
rm -rf 文件/目录

显示当前位置

pwd

显示当前目录内容

// 基础用法
ls
// 同时显示隐藏内容
ls -a
// 同时显示详细信息
ls -l

文本文件操作

1、查看
// 重定向(覆盖内容)
>
// 重定向(追加内容)
>>

// 打印文件所有内容
more 文件名
// 打印文件所有内容,带翻页功能
// 向前翻页:ctrl + b
// 向后翻页:ctrl + f
less 文件名
// 打印文件内容前n行
head -n 文件名
// 打印文件内容后n行
tail -n 文件名
// 多文件内容合并后,再打印
cat 文件名1 文件名2
// 筛选文件内容后,再打印
// 打印该文件中,含有test字符串的行
grep test 文件名
2、打包/解包 + 压缩/解压
// 打包不改变体积
// 包格式:.tar
// 压缩包格式:.gz 或者 .bz

// 基础命令格式
tar vf 包名 包内容
tar vf 包名

// 扩展示例
// 打包
tar cvf 包名 包内容
// 解包
tar cvf 包名
// 压缩gzip包
tar cvfz 包名 包内容
// 解压gzip包
tar cvfz 包名

pic_1b8dc99d.png

3、文件查找
// 在根目录下,递归查找名为conf.d的文件
find / -name conf.d

文件挂载

linux下,一切皆文件。当我们要管理硬件设备时,需要将设备目录挂载(引用)到目录下,管理该目录的文件,相当于管理该设备。

// 查看硬盘分区以及挂载点
mount

// 挂载设备
// -t:通常可以不加,系统会自动识别类型
mount -t 文件系统类型 -o 选项参数 设备目录 挂载点目录

// 卸载设备
umount 设备目录
// 或者
umount 挂载点目录

VI编辑器

1、三大模式

pic_8a35e00c.png

2、命令模式-光标移动

(1)字符级移动

// 左/右移一个字符/右方向键
// 左移一个字符
h
// 右移一个字符
l

(2)单词级移动

// 移到下个单词首
w
// 移到本单词尾
e
// 移到本单词首
b

(3)行级移动

// 移到行尾
$
// 移到行首
0
// 上/下移一行/下方向键
// 下移一行
j
// 上移一行
k

(4)段级移动

// 上移一段
{
// 上移一段
}

(5)屏级移动

// 移到本屏幕第一行
H
// 移到本屏幕最后一行
L

(6)文章级移动

// 移到文章末尾
G
// 移到文章开头
1G
3、命令模式-删除
// 多功能删除
d + 光标移动命令
// 删除当前光标处的字符
x
// 删除当前行
dd
4、命令模式-复制
// 多功能复制
v + 光标移动命令 + y
// 复制当前行
yy
// 复制 n 行(n:自定义数字)
yny
5、命令模式-粘贴
p
6、命令模式-交换
// 交换两字符
xp
// 交换两字符
ddp
7、命令模式-其他
// 重复上次命令
.
// 撤销
u
// 合并两行
J
8、尾行模式
// 保存
w
// 退出
q
// 不保存,强制退出
q!
// 保存 + 退出
wq

网络配置

1、DNS服务器
cd /etc/resolv.conf

// 实例内容
nameserver 208.67.222.222
nameserver 8.8.8.8
2、网卡
cd /etc/sysconfig/network-scripts

// 多网卡的机器,还会有ifcfg-eth1、ifcfg-eth2等
vim ifcfg-eth0

// 网卡常用字段解释
// -----------------
// 网卡类型
TYPE=Ethernet
// 网卡接口名称
DEVICE=eth0
// 系统启动时,是否自动加载
ONBOOT=yes
// 启用地址协议  static(静态ip)  dhcp(自动获取)
BOOTPROTO=static
// 网卡ip地址
IPADDR=192.168.1.11
// 网卡网络地址
NETMASK=255.255.255.0
// 网卡网关地址
GATEWAY=192.168.1.1
// 网卡设备MAC地址(一般不能改)
HWADDR=00:0C:29:13:5D:74
// 网卡广播地址(可不写)
BROADCAST=192.168.1.255

用户组/用户管理

1、用户组管理
// 添加一个用户组
groupadd 组名
// 删除一个用户组
groupdel 组名
// 修改一个用户组
groupmod -n 新组名 组名
2、用户管理
// 添加一个用户,同时为该用户,分配一个家目录
useradd -g 组名 -d 家目录 用户名
// 删除一个用户
userdel 用户名
// 修改一个用户,同时为该用户,分配一个家目录
usermod -g 组名 -d 家目录 -l 新用户名 用户名

权限管理

1、权限表
用户类型权限权限的数值表示法
u(user,主人用户)r(read,读)4
g(group,非主人的组内用户)w(write,写)2
o(other,组外用户)x(excute,执行)1
2、修改权限
// 每个文件都存在对应三种用户类型的权限

// 绝对法
// 直接覆盖原有权限
// user用户类型,权限为7
// group用户类型,权限为5
// other用户类型,权限为5
chmod 755 for.sh

// 相对法
// 在原有权限的基础上,增减权限
// other用户类型,添加可读权限,删除可写权限
chmod o+r for.sh
chmod o-w for.sh

// 修改文件的用户
chown 新用户名 文件
// 修改文件的组
chgrp 新组名 文件

安装软件

1、yum
2、编译

除了yum、编译两种方式,还可以通过rpm,安装软件(安装离线包,但不能自动安装依赖)

定时任务

// 创建定时任务
crontab -e

// 格式
分 时 日 月 周 命令

// 示例
// 每天17:30执行下班命令
30 17 * * * 下班
// 每隔2小时执行休息命令
* */2 * * * 休息
// 每隔30分钟输出时间到文件中
*/30 * * * * date >> /date/recordDate.txt

// 定时任务的执行日志,总会被发送到root的邮箱里
// 若不想接收定时任务的信息,可以把日志重定向(扔)到回收站
* */2 * * * 休息 > /dev/null 2>&1

shell编程

1、概念

自动执行一系列系统操作的脚本文件,相当于windows的.bat

2、基本用法
// 示例.sh
//使用bash解析shell脚本
#!/bin/bash
cd /var/tmp
pwd

// 执行脚本
bash 示例.sh
3、变量

(1)自定义变量

// 示例.sh
#!/bin/bash
name=tony
age=16
echo $name is $age years old

(2)系统变量

// 示例.sh
#!/bin/bash
echo $USER
echo $HOME

(3)命令返回值

// 示例.sh
#!/bin/bash
// 将date命令的返回值,赋值给变量
dateCustom=`date`
echo dateCustom

(4)命令表达式

// 示例.sh
#!/bin/bash
// 执行命令的同时,判断是否执行成功
if mkdir test
then
echo success
else
echo fail
fi  // 结束if控制

(5)文件判断表达式

// [ -d ./test ]  判断是否为目录
// [ -f ./test ]  判断是否为文件
// [ -e ./test ]  判断是否存在
// [ -r ./test ]  判断是否可读
// [ -w ./test ]  判断是否可写
// [ -x ./test ]  判断是否可执行

// 示例.sh
#!/bin/bash
//判断test是否为目录,若不是,则创建test目录
if [ -d ./test ]
then
echo test exists
elif mkdir test
then
echo mkdir test success
else
echo mkdir test fail
fi

(6)数字比较表达式

// -gt  >
// -lt  <
// -ge  >=
// -le  <=
// -eq  =
// -ne  !=

// 示例.sh
#!/bin/bash
price1=10
price2=20
if [ $price1 -lt $price2 ]
then
echo price1 < price2
elif if [ $price1 -gt $price2 ]
then
echo price1 > price2
else
echo price1 = price2
fi

(7)字符串判断表达式

// 示例.sh
#!/bin/bash
// 判断当前用户是否为root
if [ $USER = root ]
then
echo dange! -u switch
fi

(8)for循环-bash风格

// 示例.sh
#!/bin/bash
// 循环打印多个姓名
for name in tony jenny gogo
do
echo $name
done

(9)for循环-C风格

// 示例.sh
#!/bin/bash
// 循环打印1-10
for ((i=1;$i<=10;i++))
do
echo $i
done
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值