linux echo写php编码,linux使用和基础操作(示例代码)
1、linux系統初使用
linux有圖形終端和字符終端,關于linux學習以字符終端為主,即命令行操作:
[root@centos7 ~]#runlevel 查看當前工作模式
N 3 //3為字符終端,5為圖形終端
[root@centos7 ~]#init3 //切換至字符終端
[root@centos7 ~]#init5 //切換至圖形終端
[root@centos7 ~]#startx //只是啟動圖形,不是模式切換,[Ctrl]+c關閉圖形
虛擬終端:[Ctrl]+[Alt]+F1~F6
圖形終端:[Ctrl]+[Alt]+F7
切換終端:chvt 1~6,命令切換和按鍵切換一樣
查看在線:who命令
查看當前的終端設備:tty命令
顯示當前用戶身份:whoami或who am i命令
顯示誰在登錄并做什么事:w命令
2、shell程序(bash shell)
shell是一種高級程序設計語言,也被稱為linux的命令解釋器:它提供了用戶與內核進行交互操作的一種接口,接收用戶輸入的命令并把它送入內核去執行。
3、內部命令(集成在shell)和外部命令
enable命令 ???? 列出所有內部命令
enable -n cmd 禁用內部命令cmd
enable -n??? ??? 查看所有禁用的內部命令
enable cmd??????????? 啟用該cmd內部命令
type cmd??????????????? 顯示是內部命令還是外部命令:內部命令沒路徑,外部命令有路徑
[root@centos7 ~]#enable
enable .
enable :
enable [
enable alias
......
[root@centos7 ~]#enable -n cd
[root@centos7 ~]#enable -n
enable -n cd
[root@centos7 ~]#enable cd
[root@centos7 ~]#type pwd
pwd 是 shell 內嵌
[root@centos7 ~]#type pstree
pstree 是 /usr/bin/pstree
4、PATH變量
[root@centos7 ~]#echo $PATH //echo顯示變量后續介紹echo詳細用法
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
優先級從左到右搜索,可以移動外部命令的位置,改變搜索優先級(哈希hash會記錄外部命令的位置
[root@centos7 ~]#hash //可以看到hash記錄的外部命令的緩存信息
命中命令
1/usr/bin/pstree
1/usr/bin/who
1/usr/bin/ls
[root@centos7 ~]#hash -d ls //清除ls的hash緩存
[root@centos7 ~]#hash
命中命令
1/usr/bin/pstree
1/usr/bin/who
[root@centos7 ~]#hash -r //清除hash所有緩存
[root@centos7 ~]#hash
hash: 哈希表為空
hash的更多參數選項:
hash ?????????????????? //默認列出當前hash緩存
hash -d cmd ?????? //清除cmd緩存
hash -r ??????? //清除所有hash緩存
hash -t cmd //打印緩存中cmd的路徑
hash -p path cmd ? //將命令全路徑path起別名為cmd
hash -l ??????? //顯示hash緩存,可作為輸出使用
5、命令格式:
COMMAND [OPTIONS…] [ARGUMENTS…]
命令 選項 參數(命令的作用對象)
多個選項以及參數和命令之間使用空白字符分隔
取消和結束命令執行:Ctrl+c,Ctrl+d
多個命令可以用;分開
一個命令可以用分成多行
6、命令別名:
1>顯示當前 shell 進程所有可用的命令別名
[root@centos7 ~]#alias
alias cp=‘cp -i‘
alias egrep=‘egrep --color=auto‘
......
2>定義別名 NAME,其相當于執行命令 VALUE
# alias NAME=’VALUE’
撤銷別名:# unalias [-a] NAME1 NAME2... -a 撤銷所有別名
3>在命令行中定義的別名,僅對當前 shell 進程有效
如果想永久有效,要定義在配置文件中:
僅對當前用戶:~/.bashrc
對所有用戶有效:/etc/bashrc
exit 退出生效;. 或 souce 后跟更改的配置文件使之不退出生效
4>如果別名同原命令同名,要使用原命令可以使用:
ALIASNAME、”ALIASNAME”、’ALIASNAME’或 command ALIASNAME
7、簡單命令
1>關機:halt,poweroff
2>重啟:reboot
選項:
-f:強制,不調用 shutdown
-p:切斷電源
3>關機或重啟:shutdown [OPTION]… TIME [MESSAGE]
選項:
-r:reboot
-h:halt
-c:cancel
TIME 無指定,默認相當于+1
Now:立刻,相當于+0
+m:相對時間表示法,幾分鐘之后(例如:+3)
hh:mm:絕對時間表示,指明具體時間
4>wall “廣播內容” //發廣播,當前這臺機器上所有用戶可見
5>用戶登錄信息查看命令:
whoami //顯示當前登錄有效用戶
who //系統當前所有的登陸會話
w //系統當前所有的登陸會話及所做的操作
6>screen 命令:
screen -S [SESSION] //創建新screen會話
screen -ls //顯示當前所有screen會話
screen -x [SESSION] //加入screen會話
exit //退出并關閉screen會話
[Ctrl]+a,[Ctrl]+d //剝離當前會話
screen -r [SESSION] //恢復某 screen 會話
7>echo 命令
功能:顯示字符
語法:echo [-neE] [字符串]
說明:echo 會將輸入的字符串送往標準輸出。輸出的字符串以空白字符隔開,并在最后加上換行號。
選項:
-E //(默認)不支持解釋功能
-n //不自動換行
-e //啟用字符的解釋功能
a 發出警告聲
退格鍵
插入 tab
……
顯示變量:echo “$VAR_NAME”
8>命令行、括號擴展:
單引號’ ’ //引號之內只當做字符處理
雙引號” ” //引號之內識別變量,不識別命令
反向單引號` ` //引號之內識別變量,識別命令
` `或$()用于一個命令調用另一個命令的輸出
括號擴展:
打印重復字符串的簡化形式
[yang@centos7 ~]$echo file{1,2,3}
file1 file2 file3
[yang@centos7 ~]$echo {1..9}
1 2 3 4 5 6 7 8 9
9>bc 計算器:
ibase=16 //輸入:16進制數,輸出:10進制數
61
97
obase=16 //輸入:10進制數,輸出:16進制數
97
61
10、編輯/etc/motd 文件,編輯登陸后提示信息;編輯/etc/issue 文件,編輯登錄前提示信息
11、[Tab]鍵之命令補全、文件路徑補全
12、查看歷史命令:history
# echo $HISTSIZE //HISTSIZE 變量保存的是歷史命令的條數
# vim /etc/profile //更改系統保存歷史命令的條數
# ![條數] //執行歷史中那條命令
[Ctrl]+r //搜索歷史命令,[Ctrl]+g 退出
……
歷史命令先保存在內存中,退出時再將數據寫入磁盤文件(.bash_history)
13、文件通配符
*
匹配 0 個或多個字符
?
匹配任意單個字符
~
當前用戶家目錄
~yang
用戶 yang 的家目錄
~+
當前工作目錄
~-
前一個工作目錄
[0-9]、[a-z]、[A-Z]
匹配范圍內的內容
[yang]
匹配列表中的任意一個字符
[^yang]
匹配列表中所有字符以外的字符
[[:upper:]]
所有大寫字母
[[:lower:]]
所有小寫字母
[[:alpha:]]
所有字母
[[:digit:]]
所有數字
[[:alnum:]]
所有的字母和數字
[[:blank:]]
水平空白字符
[[:space:]]
所有空白字符
[[:punct:]]
所有標點符號
[[:print:]]
可打印字符
[[:cntrl:]]
控制(非打印)字符
[[:graph:]]
圖形字符
[[:xdigit:]]
十六進制字符
14>其他簡單命令:
echo $RANDOM //生成隨機數(0-32767)
openssl rand -base64 n //生成n位的隨機字符數
last //顯示成功登陸信息
netstat -nt //顯示遠程主機連接的次數
cd //切換目錄(cd -:回退到上次目錄,存放在$OLDPWD 變量里)
ls -a -A -R(遞歸) -l(顯示長屬性) -ld(目錄和符號鏈接信息不加 d 顯示子目
錄文件長屬性) -1(按字母順序每行顯示) -S(按大小倒序排序) -r(取反) -t(按時間
排序) ls -d */(只顯示當前文件夾的目錄)
atime:訪問時間;mtime:修改時間(正常看到的);ctime:狀態時間(屬性、屬組更改時間改變)
stat [file_name] //同時查看文件三個時間信息
touch //文件不存在創建空文件;刷新已存在文件的時間
-a 僅改變 atime 和 ctime
-m 僅改變 mtime 和 ctime
-t [[CC]YY]MMDDhhmm[.ss] 指定 atime 和 mtime 的時間戳(年月日小時分秒)
-c 如果不存在,則不創建
cp [選項]... [-T] 源文件 目標文件
cp [選項]... 源文件... 目錄
cp [選項]... -t 目錄 源文件...
cp -r 源目錄 目標目錄 //-r 復制目錄
cp –r 源目錄 目標目錄 //cp:使用真cp不使用別名
cp -f //目標文件存在,先刪除后復制
cp -p //保留所有者屬性
cp -a //遞歸;保留鏈接(相當于-d);保留所有屬性(備份手段)
cp -av //備份+顯示信息
cp –backup=numbered 原文件 目標文件 //不用擔心覆蓋,會備份
備份:
cp file{,.bak} //{ }的使用
想批量備份文件,在每個文件后都加上一個.bak 后綴,cp 命令做不到。可以先復制成兩份,再使用 rename 更改其中一份的文件名
rename "conf" "conf.bak" file* //搜索file*,使用conf.bak替換conf
mv:移動文件、更改文件名
-i 交互式(默認)
-f 強制
rm:刪除
-r 遞歸
-f 強制刪除
可以用 mv 代替 rm:rm=’mv -t /tmp’
tree [dir] //顯示特定目錄的目錄樹結構
tree -L 1 [dir] //顯示特定目錄下一層目錄樹結構
-d //只顯示目錄不顯示文件
-P //pattern:只顯示由 pattern 匹配到的路徑
mkdir:創建目錄
-p:遞歸創建
-v:顯示詳細信息
-m MODE:創建目錄時直接指定權限
rmdir:刪除空目錄
-p:遞歸刪除父空目錄
-v:顯示詳細信息
rm -r:遞歸刪除目錄樹
shred 文件 //安全刪除文件
-z 最后一次用 0 覆蓋;-v 看過程;-u 覆蓋后刪除;-n 6 覆蓋 6 次
15>索引節點
inode(index node)表中包含文件系統所有文件列表
一個節點(索引節點)是在一個表項,包含有關文件的信息(元數據),包括:
文件類型,權限,UID,GID
鏈接數(指向這個文件路徑名稱個數)
該文件的大小和不同的時間戳
指向磁盤上文件的數據塊指針
有關文件的其他數據
ls -i //查看節點編號,節點編號:用來唯一標識每個文件的唯一性(同一分區唯一)
df -i //查看節點數,每個分區有固定的文件節點數,滿了就相當于磁盤滿了
目錄:
文件引用一個是 indoe 號
人是通過文件名來引導引用一個文件
一個目錄是目錄下的文件名和文件 indoe 號之間的映射
rm 命令:鏈接數遞減,從而釋放的 indoe 號可以被用,把數據塊放到空閑列表中數據實際上不會馬上被刪除,但當另一個文件使用數據塊時將被覆蓋
所以可以使用 shred 安全刪除(覆蓋刪除)
16>軟硬鏈接
節點編號每個文件一個(可以使用 ln 創建硬鏈接實現一個節點編號對應對個文件名)
硬鏈接的本質:一個節點多個名字(平等關系)同一分區、針對于文件
目錄創建(鏈接數默認為 2:.當前目錄和目錄名;在目錄里在創建一個目錄..上一級目錄新加一個名,鏈接數變為 3)
軟鏈接的本質:快捷方式;軟鏈接的大小和路徑有關和原文件大小無關
ln -s [舊文件名] [新文件名]
軟鏈接不能寫相對當前路徑,相對的是軟鏈接的路徑
軟硬鏈接的區別:
本質:
硬鏈接:同一個文件多個名字
軟鏈接:一個文件對應快捷方式,是不同文件
表現:
鏈接數
跨分區
是否支持目錄
與原始文件的關系
刪除
大小
部署軟件使用軟鏈接實現版本切換
17>確定文件內容
文件可以包含多種類型的數據,檢查文件的類型,然后確定適當的打開命令或應用程序使用
file [option]:
-b 列出文件辨識結果時,不顯示文件名稱
-f filelist 列出文件 filelist 中文件名的文件類型
-F 使用指定分隔符號替換輸出文件名后默認的“ :”分隔符
-L 查看對應軟鏈接對應文件的文件類型
8、獲取多層次的幫助
1>Whatis 或 man -f //顯示命令的簡短描述,使用數據庫,剛安裝后不可立即使用(需使用 makewhatis | mandb 制作數據庫)
2>command –help
man and info
/usr/share/doc/
3>網站搜索
4>man 幫助:
查看 man 手冊頁:man [章節] keyword
列出所有幫助:man -a keyword
搜索 man 手冊:man -k ketword 列出所有匹配的頁面
man 章節:
1:用戶命令;2:系統調用;3:C 庫調用;4:設備文件及特殊文件;5:配置文件格式;6:游戲;7:雜項;8:管理類命令;9:LINUX 內核 API
[root@centos7 ~]#whatis rm
rm (1p) - remove directory entries
rm (1) - remove files or directories
[root@centos7 ~]#man 1 rm //查看幫助信息
man 手冊放在/usr/share/man;man 命令的配置文件:/etc/man.config | man db.conf
內部命令:help 命令 //使用help獲取內部命令幫助信息
外部命令:man 命令、--help //使用man或--help獲取外部命令幫助信息
總結
以上是生活随笔為你收集整理的linux echo写php编码,linux使用和基础操作(示例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php迭代什么意思,PHP中迭代变量的坑
- 下一篇: linux网页无法连接到服务器,linu