本文記錄一些日常工作中會經(jīng)常用到的Linux命令及操作,小聲bb:該文不詳細(xì)介紹具體命令的用法和原理琉闪;不然得出書才行迹炼,本文只是告知哪個命令可以做什么,具體使用細(xì)則需自行百度。 其中PHP相關(guān)寫在了另一篇文章中:http://www.reibang.com/p/ba392606190d斯入,有興趣的可以閱讀一下砂碉。
一,基本概念
1刻两,Linux一切內(nèi)容增蹭,都以文件形式保存芽卿;包括:硬件/dev添祸,socket鏈接翻默,網(wǎng)絡(luò)咳榜,命令锭汛,等等嫁赏。
2悔橄,Linux不靠擴展名區(qū)分文件類型蒸其,但是為了我們自己好區(qū)分帝美,我們一般帶上擴展名碍彭,例如:index.php
3,文件開頭第一句: #!/bin/bash 可以指定該文件由哪個程序執(zhí)行悼潭。所以我們也可以在一個文件的頭部寫:#!/usr/local/php/bin/php 庇忌,當(dāng)我們執(zhí)行這個文件的時候,它就會使用php程序去執(zhí)行該文件舰褪。
二皆疹,文件處理(子標(biāo)題把自己工作內(nèi)容給暴露了,[狗頭.jpg] )
1抵知,增
- 創(chuàng)建一個名為test的目錄:mkdir test墙基;英文本意:make directory
- 創(chuàng)建一個文件名為demo1.txt的 文件:touch demo1.txt
- 創(chuàng)建一個軟鏈接:ln -s [原文件] [軟鏈接名字] :英文本意:link
大部分命令是其實是/usr/bin里面的文件,所以我們可以在/usr/bin目錄下面創(chuàng)建一個軟鏈接刷喜,指向該命令執(zhí)行的二進制文件残制。
例如如果我們系統(tǒng)有多個php版本,我們想指定執(zhí)行php 命令的版本為php7.4掖疮,可以:
ln -s /usr/bin/php [php7.4的二進制執(zhí)行文件地址] - 輸出重定向:
1初茶,>把標(biāo)準(zhǔn)輸出指定到某個文件(覆蓋原文件內(nèi)容);例如:把【你好】寫入到demo.txt : echo '你好' > ./demo1.txt
2浊闪,>> 把標(biāo)準(zhǔn)輸出追加到某個文件恼布。
3,所以如果我們想清空一個文件demo.log里面的內(nèi)容搁宾,可以: echo '' > demo.log
2折汞,刪
英文意愿:remove
1,刪除一個名為demo1.txt的文件: rm -rf demo1.txt
2盖腿,刪除一個目錄為test里面的所有文件: rm -rf test/*
3爽待,刪除一個名為test的文件夾: rm -rf test
3损同,改
1,更改文件權(quán)限:chmod 755 index.php
遞歸更改文件夾里面所有文件:chmod -R 755 test
2鸟款,更改文件擁有者(change owner):chown username /home/test/index.txt
默認(rèn)擁有者:誰創(chuàng)建誰就是擁有者膏燃。只有root用戶可以使用該命令
3,改變文件所屬組(change group):chgrp groupname /home/test/index.txt
4何什,umask 0022 指定新創(chuàng)建的文件擁有的默認(rèn)權(quán)限為755
5组哩,拷貝(cp 英文意愿copy)文件,剪切(mv 英文意愿move)文件处渣,重命名文件
cp -rp [原文件或目錄] [目標(biāo)目錄]
1伶贰,-r 復(fù)制目錄;
2,-p 保留文件屬性
mv [源文件或目錄] [目標(biāo)目錄]
1罐栈,與復(fù)制一樣幕袱,mv也是可以剪切多個文件夾到目標(biāo)文件夾的:最后一個參數(shù)是目標(biāo)文件夾
mv /tmp/tang /tmp/xiaoli /tmp/xiaoli/xiaolong
2,我們用 mv 來進行文件的重命名 mv /tmp/test.txt /tmp/demo.txt
4悠瞬,查
1,查看一個文件涯捻,可以用cat 浅妆,less ,more 障癌,vim凌外,head,tail涛浙,等
1康辑,查看一個文件: cat
1,顯示行號: cat -n
2轿亮,把cat倒過來寫疮薇,就會倒過來顯示: tac
3,配合使用|管道和 grep 我注,可以查看你想看的內(nèi)容按咒,例如:
cat /usr/local/php/etc/php.ini |grep post_max_size # post_max_size = 50M
2,查看一個文件但骨,可以分頁励七,方便查看很長的文件 more
more /etc/services
空格,f 是翻頁
回車是一行一行翻
q 退出
B 返回上一頁
3奔缠,less 也是可以分頁查看掠抬,less也可以搜索 ,輸入斜杠 / 就可以進行搜索
more /etc/servers
輸入斜杠/搜索關(guān)鍵詞校哎,然后按n (next) 切到下一個關(guān)鍵詞两波,b切到上一個關(guān)鍵詞
可以用enter 看下一行, pageUp ,pageDn 進行上下翻頁
vim 也是有這樣的功能的
4雨女,只看文件的前幾行: head -n 20 /etc/services -n 后面更行數(shù)谚攒,表示只看這個文件的前20行
5,只看文件的末尾的幾行: tail -n 20 /etc/service -n 行數(shù) 氛堕,表示只看文件的最后20行
1馏臭,tail 和 head 如果沒有行數(shù),默認(rèn)都是顯示10行
2讼稚,tail -f 可以動態(tài)的現(xiàn)實文件末尾內(nèi)容 tail -n 20 -f /etc/services
2括儒,查找文件
1,find 用于根據(jù)文件屬性(文件名锐想,文件大小帮寻,修改時間,等)查找文件
find / -name php.ini #在根目錄下查找php.ini文件
find . -name "*.c" #在當(dāng)前目錄及其子目錄下面查找所有后綴為.c的文件
find . -ctime -20 #將當(dāng)前目錄及其子目錄下所有最近 20 天內(nèi)更新過的文件列出
2赠摇,whereis 用于查找程序固逗,二進制文件,源代碼文件
whereis php # php: /usr/bin/php /usr/local/php
whereis bash # bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz
3藕帜,which命令的作用是烫罩,在PATH變量指定的路徑中,搜索某個系統(tǒng)命令的位置洽故,并且返回第一個搜索結(jié)果贝攒。
也就是說,使用which命令时甚,就可以看到某個系統(tǒng)命令是否存在隘弊,以及執(zhí)行的到底是哪一個位置的命令。
which php # /usr/bin/php
三荒适,用戶與用戶組
1梨熙,用戶
1,查看用戶列表吻贿,直接查看文件:cat /etc/passwd
查看用戶組信息串结,直接查看文件: cat /etc/group
用戶密碼文件:/etc/shdaow 保存用戶密碼(以加密形式保存)
2,創(chuàng)建一個用戶:useradd LiMing
3舅列,刪除一個用戶:userdel LiMing #可選參數(shù) -r 肌割,作用是把用戶的主目錄一起刪除。
4帐要,修改賬戶:usermod 選項 用戶名
修改用戶和創(chuàng)建用戶的可選參數(shù)是一樣的把敞,主要有以下參數(shù):
-c comment 指定一段注釋性描述。
-d 目錄 指定用戶主目錄榨惠,如果此目錄不存在奋早,則同時使用-m選項盛霎,可以創(chuàng)建主目錄。
-g 用戶組 指定用戶所屬的用戶組耽装。
-G 用戶組愤炸,用戶組 指定用戶所屬的附加組。
-s Shell文件 指定用戶的登錄Shell掉奄。
-u 用戶號 指定用戶的用戶號规个,如果同時有-o選項,則可以重復(fù)使用其他用戶的標(biāo)識號姓建。
5诞仓,修改用戶密碼:passwd [選項] LiMing #不跟用戶名,則表示更改當(dāng)前用戶的密碼
可選參數(shù):
-l 鎖定口令速兔,即禁用賬號墅拭。
-u 口令解鎖。
-d 使賬號無口令涣狗。
-f 強迫用戶下次登錄時修改口令谍婉。
6,查看當(dāng)前用戶: whoami
2镀钓,用戶文件 /etc/passwd 各字段含義:
root:x:0:0:root:/root:/bin/zsh
bin:x:1:1:bin:/bin:/sbin/nologin
LiMing:x:1003:1003::/home/LiMing:/bin/bash
LiMing : x : 1003 : 1003 : : /home/LiMing : /bin/bash
用戶名 密碼占位符 用戶編號 用戶組編號 用戶注釋(備注) 用戶主目錄 shell類型
root的用戶編號屡萤,和組編號,都是 0
3掸宛,用戶組
1,查看用戶組信息招拙,直接查看文件:cat /etc/group
2唧瘾,新增一個用戶組:groupadd 選項 用戶組
可選參數(shù):
-g GID 指定新用戶組的組標(biāo)識號(GID)。
-o 一般與-g選項同時使用别凤,表示新用戶組的GID可以與系統(tǒng)已有用戶組的GID相同饰序。
3,刪除一個用戶組:groupdel 用戶組
4规哪,修改一個用戶組屬性:groupmod 選項 用戶組
可選參數(shù):
-g GID 為用戶組指定新的組標(biāo)識號求豫。
-o 與-g選項同時使用,用戶組的新GID可以與系統(tǒng)已有用戶組的GID相同诉稍。
-n新用戶組 將用戶組的名字改為新名字
四蝠嘉,yum軟件包管理工具
yum( Yellow dog Updater, Modified)是一個在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端軟件包管理器。
基于 RPM 包管理杯巨,能夠從指定的服務(wù)器自動下載 RPM 包并且安裝蚤告,可以自動處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包服爷,無須繁瑣地一次次下載杜恰、安裝获诈。
yum 提供了查找、安裝心褐、刪除某一個舔涎、一組甚至全部軟件包的命令,而且命令簡潔而又好記逗爹。
1亡嫌,yum常用命令
1. 列出所有可更新的軟件清單命令:yum check-update
2. 更新所有軟件命令:yum update
3. 僅安裝指定的軟件命令:yum install <package_name>
4. 僅更新指定的軟件命令:yum update <package_name>
5. 列出所有可安裝的軟件清單命令:yum list #你可以:yum list | grep php
6. 刪除軟件包命令:yum remove <package_name>
7. 查找軟件包命令:yum search <keyword>
8. 清除緩存命令:
yum clean packages: 清除緩存目錄下的軟件包
yum clean headers: 清除緩存目錄下的 headers
yum clean oldheaders: 清除緩存目錄下舊的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除緩存目錄下的軟件包及舊的 headers