我与大数据 - [Today is Linux] - [命令学习]

uname 显示系统信息

ifconfig 查看网络配置信息

date 查看时间信息

ps -ef 查看系统进程信息

ps -ef | grep java 查看系统进程信息并进行过滤  grep过滤 |管道线 由上一个命令产生的结果传递到后面的命令中去

top 查看系统cpu 内存使用情况 swab 缓存  mem内存

grep 过滤以及查找操作   grep sshd 【路径】 查找指定路径下的包含sshd的 grep -r sshd  【路径】在路径下遍历查找

ps -aux查看用户的所有进程

kill -9 强制杀死对应的进程

df 查看系统磁盘使用的情况 -h打印人类能看懂的格式

du 【路径】查看磁盘使用的情况 相当于windows属性看大小, -h 人类看得懂的格式  -s查看总和

mount -t vfat/def/sdb1/media/umnt  挂载U盘磁盘

umount /media/umnt 卸载磁盘U盘

fsck 修复文件系统

超级账户 root uid = 0   普通账户 root创建 uid >= 500  系统账户 uid = 1 - 499

/etc/passwd 保存所有账户的信息 /etc/shadow 保存账户密码信息  /root root用户的家目录  /home/xxx  普通用户xx家目录

useradd 添加普通用户 -G 组名 用户名 创建用户同时把用户添加的到组

gpasswd -a xx groupname  将xx添加到组    -d为删除

userdel 删除用户

groupadd 【组名】创建组 

passwd 用户名 修改密码

su 切换账户

cd 进入到某个目录的操作

makedir 创建目录    ./表示当前目录  -p 可以递归创建目录

touch 创建一个空文件 touch ./abc  表示在当前目录下创建一个叫做abc的空文件

vi 或者 vim 创建文件并编辑

echo '1231212' >> ./gh  创建文件gh并追加数据1231212    << 表示追加   < 表示重写

ll ls lh查看文件 ls -a 查看所有文件包括隐藏文件

cat 查看文件 -n 显示行号

tail 查看文件末尾 文本 默认10行 -数字  从后往前 读几行  -f 动态监控文件产生的变化  多用于日志监控查看动态

head 查看文件开头 从前往后看  -数字 从前往后 看几行

more 按照百分比查看文件 不能回看

less 可以回看

cp 【路径1...】【路径2】 从路径1复制到路径2  -r 递归复制  如果目录中有文件也会被一起复制过去 路径1可以有多个

mv 移动文件 重命名文件【路径1...】【路径2】 从路径1移动到路径2 路径1可以有多个 

rm 删除 -r 递归删除  每个文件都会询问  -rf强制递归删除  不会询问

tar 压缩包  -z 压缩  -c打包  -x解压缩包  -f必写项 -C指定解包位置 -v输出信息

which 查找可执行命令所在的位置

whereis 查找文件安装目录

updatedb  更新linux自带小型数据库

find 直接查找 【路径】 -name 通过名字来查找  不建议在服务器上使用

locate 文件查找 效率很高

alias 查看系统中设置的别名  oldname = newname 设置别名 设置只是临时有效 重启后无效

unalias newname 取消别名

vi ~/.bashrc 永久设置别名 设置完成后 source ~/.bashrc 别名就会永久有效

pwd 查看当前目录

~ 表示用户home目录

- 表示上一次所在的位置

.. 上一级目录   cd .. 

. 当前目录

service iptables status  查看防火墙当前状态   stop 关闭  start开启 

chkconfig iptables --list 查看系统以对应方式开启时防火墙是否自动开启

chkconfig iptables off  将所有方式启动系统时都不开启防火墙  on开启

service network status  查看当前网卡的状态 start 启动  restart 重启  stop停止

visudo -f /etc/sudoers  给普通用户添加root权限读写文件

vi /etc/profile linux下的环境变量在这里面配置

source /etc/profile  修改完成环境变量后需要刷新修改

rpm 安装rpm安装程序 -ql 查询 -ivh 安装  i 安装  v 显示信息 h 用#号表示进度  -e 删除

yum info 查看应用的安装信息

yum list 查看所有已经安装的应用程序  +package   查看这个应用的安装情况

yum install 在线安装  -y 不需要确认

yum groupinstall 在线安装整个组的应用 -y 不需要确认

yum update/upgrade + package  升级指定包名的应用程序

yum clean 清除缓存  yum makecache 构建yum缓存  一般用在切换yum源的时候

yum remove  卸载应用程序 -y

使用源码安装的时候 首先解压源码包,然后找到源码包解压后的路径  之行configure 检查环境  之后执行make 编译源码 最后使用make install 安装

网络配置 /etc/host 下添加ip 主机名 域名   /etc/sysconfig/network-scripts/ifcfg-eth0   相当于在桌面上配置eth0网卡信息  链接公网需要增加dns  

#! + 解释器路径 例如 #! /bin/bash  使用/bin/bash 作为shell的解释器

运行shell 方式 chmod 744 ./shell  改变权限运行shell   /bin/bash  ./shell  解释器执行  这时候优先使用 这个解释器

echo 输出语句

获取变量需要 使用$  $变量名 ${变量名}   

在变量中使用expr 表达式  需要用  `` 包裹 expr 表达式  `expr 3 + 3`

readonly 标识符  定义只读变量

onset 标识符 删除变量

shell 中的单引号 不会识别转义符 只会把字符原封不动的打印出来  双引号会识别转义字符 

shell 中使用反引号 ``  shell会认为被反引号括起来的内容是linux下的命令 例如 expr date 需要放在反引号中

拼接的时候不要用+号 ,号 直接拼接

{#变量名}获取字符串长度

{变量名:startindex:length}截取字符串 将变量名从startindex(包括startindex)开始截取length个长度

(反引号)`expr index "$变量名" 要查找的字符串`   用于查找字符串第一次出现的位置  下标从1开始计算

创建数组使用()包裹,不要求数据类型一致,有点像python的元组

获取数组 echo ${arr1[*]}  *或者&号表示获取所有的元素 下标从0开始 越界不会报错 会返回空

获取数组长度 {#array[*]} 或者& 用来获取数组长度

乘法符号 * 直接用做乘法会报错,需要在*前面加上转义符反斜杠 \

-eq 检测两个数是否相等,相等返回true [$a -eq $b]

-ne 检测两个数是否不相等, 不相等返回true [$a -ne $b]

-gt 检测左边的数是否大于右边的数 是返回true [$a -gt $b]

-lt 检测左边的数是否小于右边的数,是返回true [$a -lt $b]

-ge 检测左边的数是否大于等于右边的数,是返回true [$a -ge $b]

-le 检测左边的数是否小于等于右边的数,是返回true [$a -le $b]

if then fi 为条件控制语句格式

-o 或者  相当于or

-a 并且 相当于and

字符串的运算 = 等于 [$a = $b]  != 不等于[$a != $b]  -z 长度是否为0,为0返回true [ -z $b ]   -n长度是否为0,不为0返回true [ -n $b]  [$a]  检查a是否为空,切记每个运算符都要有空格

文件操作 -r 文件是否可读 [ -r $file ]  -w 文件是否可写  -x 文件是否可执行  -f 文件是否是文件 -d 文件是否为目录 -s  文件是否为空  -e 文件是否存在

流程控制语句:if [] then cmd fi   if [] then cmd elif [] then cmd fi   if [] then cmd else cmd fi 转为1行 要使用;

循环语句:for i in 循环 do cmd done    while condition do cmd done

反引号 `seq 1 20`  表示从1到20逐个输出

read 表示等待接受控制台的一个输入  read 变量  变量来接受用户的输入的值

case 语句的结构   case $变量 in    a) cmd ;;  b) cmd ;;  c) cmd ;; *) cmd ;; esac  *表示其他

breake 和 continue 用法和其他语言一样

求表达式的值也可以使用 $(( $a + $b )) 计算 a+b

shell 取有返回值函数的 方式为 在调用的下一行紧接着 使用 $? 来获取

shell 传参数给函数 直接在函数后面 空格 加 参数

shell中对有参数的函数 取函数值的方法为  $1 取第一个参数    $2 取第二个参数    超过10的需要${10}来取    $* 取所有参数   $#  取参数的个数

给shell脚本传参数和获取参数的方式与函数一样

shell 引入文件  source 绝对路径  或者 . 绝对路径

sh -n 文件名 表示调试shell脚本定位到错误地方

sh -x 文件名 能展示每一句的输出结果,详细的调试信息

sleep 时间 表示睡眠几秒

中断调试的方法,在关键位置增加sleep睡眠时间,在程序运行时 按 ctrl+z执行中断,按下fg回车即可继续运行

还有一种for循环的方式  for((i=0;i<max;i++))

使用bashdb 调试shell代码 bashdb --debugger  shell路径    调试时的命令: l列出当前行的上下各5行共10行  q退出    h帮助    /for/向后搜索字符串for    ?for?向前搜索字符串for         x 1+2计算表达式的值       !! ls -laRt执行shell命令       n执行下一条语句    s 4单步执行4次,如果遇到函数就进入函数里面       b 4在行号4处设置断点       del 4删除行号为4的断点      c 10一直执行到行号10处         R|run重新执行当前脚本      finish执行到程序最后 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值