您的位置:首页 > 运维架构 > Shell

ubuntu控制台常用指令和简单shell编程

2019-08-08 21:07 1321 查看

时光匆匆,不禁感慨,时间宛如白驹过隙-------恍恍一瞬,徒生叹息。今日立秋,天气倒是愈加炎热,愈是酷暑难耐。。。。。。。。。

 

1.常用ubuntu(Linux)指令

ctrl c 退出当前执行
cd ..  返回到上一级目录中
cd ~   返回到根目录中 或者是 cd (加个空格)
cd  -  返回进入此目录之前所在的目录
exit 退出

常见的操作文件,文件夹的命令

---------------------------------
#  ls — List : 列举出当前工作目录的内容(文件或文件夹) 
ls -l # 查看文件名称和 文件的权限
ls -a # 显示全部的文件,包括隐藏的文件

#  clear : 清除当前命令

#  mkdir — Make Directory : 创建一个新文件夹

#  rmdir— Remove Directory : 删除一个文件夹

#  pwd — Print Working Directory : 显示当前目录

#  cd — Change Directory : 切换文件路径,cd 将给定的文件夹(或目录)设置成当前工作目录

#  rm— Remove : 删除指定的文件。 在linux没有回收站,删除之后无法恢复
#  sudo rm -r hadoop # 删除文件夹下的所有文件

#  vi : 创建一个文件 vi test.txt
# 一种比较方便打开文件的方式
sudo gedit + 文件

>是覆盖,>> 是追加
#  echo >: 向已有的文件中增加内容, echo "added contents" >>test.txt

#  echo >>: 覆盖文件内容,若不存在则创建一个新的文件 echo "new file" >newFile.txt

#  cat— concatenate and print files : 显示一个文件 cat test.txt

#  less, more : 如果文件太大,分页显示一个文件,按Q 结束浏 览

#  tail : 显示文件的最后 10 行, tail -n 5 test.txt 显示最后5 行

#  touch : 创建一个新的空的文件,不直接进行编辑

#  cp— Copy : 对文件进行复制 ;例子: cp test.txt ../jun2

#  mv— Move : 对文件或文件夹进行移动

#  grep : 在文件中查找指定的字符; grep fun test.txt

#  tar : tar命令能创建、查看和提取tar压缩文件。
tar -cvf 是创建对应压缩文件, tar -cvf test.tar test.txt  # 将test.txt 压缩为 test.tar
tar -tvf 来查看对应压缩文件,
tar -xvf 来提取对应压缩文件

#  mkdir — Make Directory : 创建一个新目录
#  mkdir — Make Directory : 创建一个新目录
#  mkdir — Make Directory : 创建一个新目录

 软件下载安装

sudo apt-get update    # 更新一下软件源,获取最新软件的列表
sudo apt-get install gedit(软件名)    # 安装软件

系统重启和关机指令

#  reboot : 立刻进行重启
#  shutdown -r now : 立刻进行重启
#  shutdown -r 10 : 10分钟后进行重启

# 关机命令
#  halt : 立刻关机
#  poweroff : 立刻关机
#  shutdown -h now : 立刻关机

文件模式和访问权限

#  chmod (change mode) :命令来改变文件或目录的访问权限

-rwxr-xr--  : 含义表示
第一列的字符可以分为三组,每一组有三个,每个字符都代表不同的权限,分别为读取(r)、写入(w)和执行(x):
u 第一组字符(2-4)表示文件所有者的权限,-rwxr-xr-- 表示所有者拥有读取(r)、写入(w)和执行(x)的权限。
g 第二组字符(5-7)表示文件所属用户组的权限,-rwxr-xr-- 表示该组拥有读取(r)和执行(x)的权限,但没有写入权限。
o 第三组字符(8-10)表示所有其他用户的权限,rwxr-xr-- 表示其他用户只能读取(r)文件。

目录的访问模式为:
读取:用户可以查看目录中的文件
写入:用户可以在当前目录中删除文件或创建文件
执行:执行权限赋予用户遍历目录的权利,例如执行 cd 和 ls 命令。(只是对于目录而言)

#  chmod o=rwx anoterDir : 设置其他用户的权限,o, 
- 表示删除权限, + 表示增加权限

环境变量

# 常见的环境环境变量。 输入的形式为: echo $Home
#--- 使用 env 显示所有的环境变量 
HOME:指定用户的主工作目录    ,如: echo $Home
LOGNAME:指当前用户的登录名
HOSTNAME:指主机的名称
LANG/LANGUGE:和语言相关的环境变量

vim ~/.bashrc      #进行环境配置
source ~/.bashrc   # 使配置立即生效


export 设置一个新的环境变量 export HELLO="hello" (可以无引号)
unset 清除环境变量 unset HELLO

ubuntu登陆到mysql

(登陆到mysql中)
#---启动和终止mysql-----
service mysql start

service mysql restart
service mysql stop

#---打开mysql的shell命令
mysql -u root -p

 

 

-------------------------------------------------------------------

2.shell编程简单的常用的指令

编写第一个shell脚本:


# 1. 创建一个文件

gedit test1


#2. 输入: 输入 echo $SHELL 查看
#!/bin/bash
echo 'this is my first shell'


#3. 赋予该文件可执行的权限
chmod 755 test1


#4. 执行脚本文件,    ./表示从当前文件夹中进行查找 
./test1

定义变量:  变量名和等号之间不能有空格

 

var_name="zhangsan"
echo $var_nam  # 使用变量

# 单引号:任何字符都会依据原样输出
str='this is str'
# 双引号
双引号里可以有变量
双引号里可以出现转义字符
name='zhangsan'
str="hello, you are \"$name\" \n"

# 获取字符串的长度
string="zhangsan"
echo ${#string} #输出:7
# 提取字符串
echo ${string:1:4} #输出:hans

# 数字
var=1
var=$var+1
echo $var
echo $((var += 1))
# 两者数字相加,乘,除等操作
var=(($var+$num))  # 加双层的括号, 双括号用于执行数学运算

shell中的控制流程

[code]if [ "${SHELL}" == "/bin/bash" ]; then
echo "your login shell is the bash (bourne again shell)"
else
echo "your login shell is not bash but ${SHELL}"
fi  #结束符号,是 if 的相反

# 常用的判断语句
-f "filename"
判断是否是一个文件
-x "/bin/ls"
判断/bin/ls是否存在并有可执行权限
-n "$var"
判断 $var 变量是否有值
"$a" == "$b"
判断$a和$b是否相等

# ----select 循环语句
RANDOM 是shell 中的一个随机数
select 循环语句是bash的一种扩展应用,擅长于交互式场合。
echo "What is your favourite OS?"
select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; do # 提供给用户选择的方案
break;
done
echo "You have selected $var"

# shell中的大于小于等符号表示
大于       -gt (greater than)
小于       -lt (less than)
大于或等于 -ge (greater than or equal)
小于或等于 -le (less than or equal)
不相等     -ne (not equal)

# -----while/for 循环
while ...; do
....
done

# for循环
for var in ....; do
....
done

for ((i=0; i<5; i++)); do # 打印出数字出来
echo $i
done

shell中定义函数

#--- 定义一个函数
declare num=500  #定义全局变量
function abc(){
    local num=100  # 定义函数的局部变量
    echo "this is a function"
    echo $1  # 传递一个参数,形式如 $1, $2, $3 的形式
    return 22
}
abc # 调用函数
abc 3ff7 hji # 传入一个指定的参数
echo $?  # 打印出函数的返回值

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: