20170207--forlinux-系统初始化
2019獨角獸企業重金招聘Python工程師標準>>>
系統初始化
ifconfig eth0 192.168.30.5/24 up //臨時設置網卡,開機不生效
vi /etc/selinux/config
setenforce 0
getenforce
vi /etc/sysconfig/nework //永久修改主機名
bash 腳本編程 ---不同的shell語法不同
bash 是shell 的一種
/etc/passwd 后面表示的是shell /sbin/nolog 也是一種shell
posix 是可移動操作系統接口標準,在此之下的
cat /etc/shells 為當前環境可以使用的所有shell
[root@apache ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
在當前環境中打開的另外一個shell為當前shell的子shell
普通變量 :在子shell中不能夠生效
環境變量 : 可以在子shell中生效
如果要永久支持,可以放到環境變量的文件
全局
/etc/profile
/etc/bashrc
每個用戶的家目錄下
~/.bashrc
~/.bash_profile
echo $a 父shell在子shell中引用變量
子shell中的變量不可以在父shell中獲取
export a //將a設置為環境變量,在子shell中的修改不會在父shell中生效
bash 特性:
1.tab 補齊
單獨寫路徑,以為是在寫命令,所以不能被當作命令補全
bash 補全的控制命令文件 /etc/bash_completion.d
. /etc/bash_completion.d/yum.bash //讓yum 命令可以自動補齊
2.后臺任務
ctrl+z 放到后臺暫停
bg %1 讓編號為1的任務到后臺運行
fg %1 讓任務回到前臺
任務 & 讓任務在后臺運行
kill %1 //
kill 進程號
kill -9 進程號 //盡量不要使用,會調用操作系統的接口,直接暴力結束進程,會有數據損壞
kill -l
kill -15 進程號 //應用程序準備好后自己退出
3.歷史命令 history
history 10 //列出最近10條
!jo //執行以jo開頭的歷史命令
! 編號 //歷史命令的編號
~/.bash_history //歷史命令默認保存在這個目錄下
4.管道 ---進程和進程之間的通信
ls /etc/ | wc -l
5.set -o vi //將系統的輸入設置為vi模式,和vi 的操作命令一模一樣
6.支持變量
7.支持腳本編程語言,腳本編程語言需要解釋器
. bash命令的內建命令 builtin 相當于source
type 命令 //可以查看是內部還是外部命令
bash 腳本的用途 awk sed 用好
1.語句批量執行
2.添加計劃任務
3.實現自動化運維腳本
bash 的解釋
#!/bin/bash???----指定解釋器
#?注釋
#author:
#date:
#
?
??........?代碼塊..........
; 前面一條不管成不成功都會執行后面一條
&& 前面一條成功了才執行后面一條
date %w 顯示周幾
date %Y%m%d 顯示當前年月日
export a //輸出為環境變量
unset a //取消變量
echo $a
echo ${a} //為標準寫法
echo ${abc}123 //輸出abc變量的值+123
source/. echo.sh //將echo.sh中的內容在當前shell中執行
bash 執行腳本會忽略#!/bin/bash 解釋器這一行
./source 執行腳本不會忽略解釋器那一行,一般用來讀取配置文件,將腳本里的內容放到當前環境執行
env 列出所有環境變量
set 列出所有變量
PS1 PS2 一、二級提示符
判斷學生的成績
1.輸入 read
read -p "請輸入你的成績 :" num
read -p 提示符 varname
read -p 提示符 varname -s //-s 選項將不會把用戶輸入的內容顯示出來
2.判斷
[?"$num"?-ge?0??-a?"$num"?-lt?60?]?&&?echo?"你的成績差"???//-a?與???-o?或
if?[?"$num"?-ge?60?-a?"$num"?-lt?80?]?;then
???echo?"你的成績為良"
else
????echo?"你的成績為優"
fi
退出狀態嘛 echo $?
退出狀態碼為0則為正常退出
退出狀態碼為非0 則為退出失敗
echo $$ 返回程序的PID
echo $0 代表運行的腳本的名字
echo $1 代表運行腳本后接的第一個參數
echo $2 代表運行腳本后接的第二個參數
echo ${10}
echo $*
echo $@ 代表所有參數
echo $? 執行成功則返回0 ,執行失敗則返回非0值
?
[kate@china shell]$ bash example01.sh 3 5 2586 example01.sh 3 5 8 3 5 3 5 0 [kate@china shell]$ ./example01.sh 2 7 2587 ./example01.sh 2 7 9 2 7 2 7 0 [kate@china shell]$ cat example01.sh #!/bin/bash # $符號的測驗 # echo $$ echo $0 echo $1 echo $2 echo $(($1+$2)) echo $* echo $@ echo $? [kate@china shell]$?
?
test 測試命令,屬于內建命令
test 命令可以用 [ ] 代替
[ "$a" -lt "$b" ] //test 里面凡是引用變量的地方都加上引號,可以避免很多錯誤。
bash 中的縮進不是必須的,python中的縮進是必須的
shell中exit 99 可以指定退出狀態碼為99
[root@up12 shell]# echo 'upl00king' |grep --color '[^0-9]'
upl00king
[root@up12 shell]# echo 'upl00king' | tr -d '[0-9]'
uplking
aa='date' //將date 賦值給aa 相當于aa=$(date) ' ‘相當于是$()的簡寫。 ‘’ 里的命令將會被執行后賦值給變量。
echo "59.55" |cut -d "." -f 2 | tr -d '\n' | wc -c
[root@up12?for-linux]#?echo?"59.55"?|cut?-d?"."??-f?2?|?tr?-d??'\n'?|?wc?-c
2
//根據小數點進行分隔,取小數點右邊的數,去掉換行符,統計右邊一共有幾位
比較兩個文件是否相同 ---一般用來生成補丁
diff txt1 txt2
vimdiff txt1 txt2 //更加方便好用
unix系統中超級用戶是UID為0的用戶,不一定是root,只要UID的值為0就是超級用戶。
目錄和文件的權限有什么不一樣?
?
轉載于:https://my.oschina.net/liubaizi/blog/835687
總結
以上是生活随笔為你收集整理的20170207--forlinux-系统初始化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者荣耀信誉积分上限89怎么办 《王者》
- 下一篇: AJAX初步理解