Linux學習(三)
阿新 • • 發佈:2018-01-25
文件測試 suid 示例 選項 ges stty -- 配置 文本編輯 前言:接著Linux學習(二)vim文本編輯器說
vim 文本編輯器
u 撤銷最近的更改
/* 撤銷之前多次更改
U? 撤消光標落在這行後所有此行的更改
按ctrl?+ r 重做最後的“撤消”更改
. 重復前一個操作
n. 重復前一個操作n次
退出模式下
e! 直接還原到文件最初打開狀態
v 面向字符選中 V 面向行選中 ctrl + v 面向塊選中
配置文件:永久有效
全局: /etc/vimrc
個人: ~/.vimrc
擴展模式:當前vim進程有效
set nu 顯示行號
set ic 忽略大小寫
四,shell腳本編程基礎
1.shell腳本基礎
格式要求:首行shabang機制 "#!/bin/bash" "#!/usr/bin/python" "#!/usr/bin/perl"
2.創建shell腳本
使用文本編輯器(例如vim)創建文本文件
第一行必須包括shell聲明序列: "#!"
例如:"#!/bin/bash"
添加註釋
註釋以 "#" 開頭
shell腳本示例
腳本調試
檢測腳本中的語法錯誤
bash -n
調試執行
bash -x
3.本地變量
變量賦值: name=‘value’ 可以使用引用value: (1) 可以是直接字串:name= "root" (2) 變量引用: name="$USER" (3) 命令引用: name=`COMMAND` name=$(COMMAND)
變量引用: ${name} $name
"":弱引用,其中的變量引用會被替換為變量值
‘‘:強引用,其中的變量引用不會被替換為變量值,而保持原字符串
4.退出狀態
進程使用退出狀態來報告成功或失敗
0 代表成功, 1-255代表失敗
$? 變量保存最近的命令退出狀態 (echo執行)
5.算數運算
實現算數運算
var=$[ 算術表達式 ]
var=$(( 算術表達式 ))
echo ‘算術表達式’ | bc
?寫腳本時的實用快捷鍵?
ctrl + z 寫腳本時可以保存到後臺
?? fg 回到後臺腳本
bg 查看有多少後臺
?? shift +^ 跳到行首
?? shift +$ 跳到行尾
?? :e! 直接恢復到文件最初的狀態
6.邏輯運算
! 非,取反向結果( ! 加到前面,後面要有空格)
7.條件測試
test
[ ]
[[ ]]
中括號裏面前後必須有空白字符
/usr/bin/[ 相當於test
man test 整理命令選項(解釋很詳盡,隨時用隨時查)
執行操作符
&& 並且,同時為真為真 相當於‘ -a‘
|| 或者,有一個假為假 相當於‘-o‘
用於 [[ ]] 中
數值測試
-gt 是否大於
-ge 是否大於等於
-eq 是否等於
-ne 是否不等於
-lt 是否小於
-le 是否小於等於
前有空格後有空格
字符串測試
== 是否等於
!= 是否不等於
=~ 左側的字符串能否匹配右面的模式
-z 字符串是否為空
-n 字符串是否為不空
字符串一般都需要用" " 引起來
文件測試
文件存在性及類別測試
-e FILE: 文件存在性測試,存在為真,否則為假
-f FILE:是否存在且為普通文件
文件權限測試:
-r FILE:是否存在且可讀
-w FILE: 是否存在且可寫
-x FILE: 是否存在且可執行
文件特殊權限測試:
-u FILE:是否存在且擁有suid權限
-g FILE:是否存在且擁有sgid權限
-k FILE:是否存在且擁有sticky權限
文件大小測試
-s FILE: 是否存在且非空
8.read命令
read 接受輸入
-p 顯示輸入的內容
-s 靜默,不顯示輸入的內容
-t N 控制輸入時間
-n N 控制輸入字符的最大長度
-d 字符 結束符
通常 -p 放最後
9.bash配置文件
全局配置
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
個人配置
~/.bashrc
~/.bashrc_profile
profile 類
/etc/profile
/etc/profile.d/*.sh
~/.bashrc_profile
控制 : 環境變量 ; 運行命令或腳本
bashrc 類
/etc/bashrc
~/.bashrc
控制 : 命令別名和函數 ; 本地變量
修改配置文件生效方法
重啟shell進程
. 或 source(後面接文件路徑命,中間有空格)
10.倆種登錄方式
交互式登錄
直接通過終端輸入賬號密碼登錄
使用“su - UserName” 切換的用戶
執行順序: /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc
非交互式登錄 可以繼承
su UserName
圖形界面下打開的終端
執行腳本
任何其它的bash實例
執行順序: ~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh
額外可以了解可能會用到的
-:普通文件
d: 目錄文件
b: 塊設備
c: 字符設備
l: 符號鏈接文件
p: 管道文件pipe
s: 套接字文件socket
wall 發廣播
ping -W1 -c1 只執行一次,並且等待一秒
stty -echo 敲命令不顯示 不換行
stty echo 解除
Linux學習(三)