linux基礎(chǔ)

https://www.tecmint.com/60-commands-of-linux-a-guide-from-newbies-to-system-administrator/
set -e
stops the execution of a script if a command or pipeline has an error - which is the opposite of the default shell behaviour, which is to ignore errors in scripts. Type help set in a terminal to see the documentation for this built-in command.

mkdir -p(如果父目錄不存在則自動(dòng)創(chuàng)建,不會(huì)報(bào)錯(cuò))

echo
as the name suggest echoes a text on the standard output. It has nothing to do with shell, nor does shell reads the output of echo command. However in an interactive script, echo passes the message to the user through terminal. It is one of the command that is commonly used in scripting, interactive scripting.

‘#!/bin/bash‘
tells the shell that it is an script an it is always a good idea to include it at the top of script.
‘read‘ reads the given input.

cURL是一個(gè)利用URL語法在命令行下工作的文件傳輸工具,1997年首次發(fā)行。它支持文件上傳和下載,所以是綜合傳輸工具,但按傳統(tǒng),習(xí)慣稱cURL為下載工具。cURL還包含了用于程序開發(fā)的libcurl。
CURL語法格式:curl [option] <URL>

yum
YUM (Yellowdog Updater Modified) is an open source command-line as well as graphical based package management tool for RPM (RedHat Package Manager) based Linux systems. It allows users and system administrator to easily install, update, remove or search software packages on a systems.
https://www.tecmint.com/20-linux-yum-yellowdog-updater-modified-commands-for-package-mangement/
yum install xxx 如果安裝的軟件有詢問會(huì)卡在詢問頁,如果希望安裝過程自己很清楚的可以使用此命令
yum –y install xxx 使用這個(gè)就不會(huì)老詢問你要不要yes他會(huì)自動(dòng)的同意,也就不需要你老確認(rèn)

-v:顯示rsync過程中詳細(xì)信息??梢允褂?-vvvv"獲取更詳細(xì)信息。
-P:顯示文件傳輸?shù)倪M(jìn)度信息。(實(shí)際上"-P"="--partial --progress",其中的"--progress"才是顯示進(jìn)度信息的)。
-n --dry-run :僅測試傳輸,而不實(shí)際傳輸。常和"-vvvv"配合使用來查看rsync是如何工作的。
-a --archive :歸檔模式,表示遞歸傳輸并保持文件屬性。等同于"-rtopgDl"。
-r --recursive:遞歸到目錄中去。
-t --times:保持mtime屬性。強(qiáng)烈建議任何時(shí)候都加上"-t",否則目標(biāo)文件mtime會(huì)設(shè)置為系統(tǒng)時(shí)間,導(dǎo)致下次更新
:檢查出mtime不同從而導(dǎo)致增量傳輸無效。

-o --owner:保持owner屬性(屬主)。
-g --group:保持group屬性(屬組)。
-p --perms:保持perms屬性(權(quán)限,不包括特殊權(quán)限)。
-D :是"--device --specials"選項(xiàng)的組合,即也拷貝設(shè)備文件和特殊文件。
-l --links:如果文件是軟鏈接文件,則拷貝軟鏈接本身而非軟鏈接所指向的對(duì)象。
-z :傳輸時(shí)進(jìn)行壓縮提高效率。
-R --relative:使用相對(duì)路徑。意味著將命令行中指定的全路徑而非路徑最尾部的文件名發(fā)送給服務(wù)端,包括它們的屬性。用法見下文示例。
--size-only :默認(rèn)算法是檢查文件大小和mtime不同的文件,使用此選項(xiàng)將只檢查文件大小。
-u --update :僅在源mtime比目標(biāo)已存在文件的mtime新時(shí)才拷貝。注意,該選項(xiàng)是接收端判斷的,不會(huì)影響刪除行為。
-d --dirs :以不遞歸的方式拷貝目錄本身。默認(rèn)遞歸時(shí),如果源為"dir1/file1",則不會(huì)拷貝dir1目錄,使用該選項(xiàng)將拷貝dir1但不拷貝file1。
--max-size :限制rsync傳輸?shù)淖畲笪募笮?。可以使用單位后綴,還可以是一個(gè)小數(shù)值(例如:"--max-size=1.5m")
--min-size :限制rsync傳輸?shù)淖钚∥募笮 _@可以用于禁止傳輸小文件或那些垃圾文件。
--exclude :指定排除規(guī)則來排除不需要傳輸?shù)奈募?br> --delete :以SRC為主,對(duì)DEST進(jìn)行同步。多則刪之,少則補(bǔ)之。注意"--delete"是在接收端執(zhí)行的,所以它是在
:exclude/include規(guī)則生效之后才執(zhí)行的。
-b --backup :對(duì)目標(biāo)上已存在的文件做一個(gè)備份,備份的文件名后默認(rèn)使用"~"做后綴。
--backup-dir:指定備份文件的保存路徑。不指定時(shí)默認(rèn)和待備份文件保存在同一目錄下。
-e :指定所要使用的遠(yuǎn)程shell程序,默認(rèn)為ssh。
--port :連接daemon時(shí)使用的端口號(hào),默認(rèn)為873端口。
--password-file:daemon模式時(shí)的密碼文件,可以從中讀取密碼實(shí)現(xiàn)非交互式。注意,這不是遠(yuǎn)程shell認(rèn)證的密碼,而是rsync模塊認(rèn)證的密碼。
-W --whole-file:rsync將不再使用增量傳輸,而是全量傳輸。在網(wǎng)絡(luò)帶寬高于磁盤帶寬時(shí),該選項(xiàng)比增量傳 輸更高效。
--existing :要求只更新目標(biāo)端已存在的文件,目標(biāo)端還不存在的文件不傳輸。注意,使用相對(duì)路徑時(shí)如果上層目錄不存在也不會(huì)傳輸。
--ignore-existing:要求只更新目標(biāo)端不存在的文件。和"--existing"結(jié)合使用有特殊功能,見下文示例。
--remove-source-files:要求刪除源端已經(jīng)成功傳輸?shù)奈募?/p>

命令行參數(shù) - 和 -- 的區(qū)別
https://blog.csdn.net/moudaen/article/details/9209629

rsync命令一個(gè)冒號(hào):和兩個(gè)冒號(hào)::有什么不同
There are two different ways for rsync to contact a remote system: using a remote-shell program as the transport (such as ssh
or rsh) or contacting an rsync daemon directly via TCP. The remote-shell transport is used whenever the source or destina‐
tion path contains a single colon (:) separator after a host specification. Contacting an rsync daemon directly happens when
the source or destination path contains a double colon (::) separator after a host specification, OR when an rsync:// URL is
specified (see also the "USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION" section for an exception to this latter
rule).

Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達(dá)式版本,它的使用權(quán)限是所有用戶
grep [options]
-c:只輸出匹配行的計(jì)數(shù)。

-I:不區(qū)分大 小寫(只適用于單字符)。

-h(huán):查詢多文件時(shí)不顯示文件名。

-l:查詢多文件時(shí)只輸出包含匹配字符的文件名。
http://www.itdecent.cn/p/36b4a710f718

shell如何判斷文件or目錄
主要用到兩個(gè)shell命令:

-f "file" : 判斷file是否是文件;

-d "file" : 判斷file是否是目錄(文件夾)。

!/bin/sh

filename="/home"

if [ -d "$filename" ]; then

echo "$filename is a directory "

elif [ -f "$filename" ]; then

echo "$filename is a file"

fi

echo -n 不換行輸出
echo -e 處理特殊字符若字符串中出現(xiàn)以下字符,則特別加以處理,而不會(huì)將它當(dāng)成一般文字輸出。比如換行符\n, 則可以實(shí)現(xiàn)換行輸出

/dev/null 2>&1
這條命令的意思就是在后臺(tái)執(zhí)行這個(gè)程序,并將錯(cuò)誤輸出2重定向到標(biāo)準(zhǔn)輸出1,然后將標(biāo)準(zhǔn)輸出1全部放到/dev/null文件,也就是清空.
所以可以看出" >/dev/null 2>&1 "常用來避免shell命令或者程序等運(yùn)行中有內(nèi)容輸出。
http://www.itdecent.cn/p/9684090d36a3

echo $!打印上一個(gè)后臺(tái)進(jìn)程的PID

ps -ef
ps -ef 是用標(biāo)準(zhǔn)的格式顯示進(jìn)程的、其格式如下

awk
awk工作流程是這樣的:讀入有’n’換行符分割的一條記錄,然后將記錄按指定的域分隔符劃分域,填充域,0則表示所有域,1表示第一個(gè)域,n表示第n個(gè)域。默認(rèn)域分隔符是”空白鍵” 或 “鍵”,所以1表示登錄用戶,$3表示登錄用戶ip,以此類推。

入門實(shí)例假設(shè)last -n 5的輸出如下# last -n 5 僅取出前五行rootpts/1192.168.1.100TueFeb1011:21still loggedinrootpts/1192.168.1.100TueFeb1000:46-02:28(01:41)rootpts/1192.168.1.100MonFeb911:41-18:30(06:48)dmtsaipts/1192.168.1.100MonFeb911:41-11:41(00:00)root tty1 FriSep514:09-14:10(00:01)如果只是顯示最近登錄的5個(gè)帳號(hào)#last -n 5 | awk '{print $1}'rootrootrootdmtsairoot

鏈接:http://www.itdecent.cn/p/57971d3c8856

ls -l | wc -l

用wc命令來統(tǒng)計(jì)當(dāng)前目錄下的文件數(shù)

Linux系統(tǒng)中的wc(Word Count)命令的功能為統(tǒng)計(jì)指定文件中的字節(jié)數(shù)、字?jǐn)?shù)、行數(shù),并將統(tǒng)計(jì)結(jié)果顯示輸出。命令功能是統(tǒng)計(jì)指定文件中的字節(jié)數(shù)、字?jǐn)?shù)、行數(shù),并將統(tǒng)計(jì)結(jié)果顯示輸出。
-c 統(tǒng)計(jì)字節(jié)數(shù)。
-l 統(tǒng)計(jì)行數(shù)。
-m 統(tǒng)計(jì)字符數(shù)。這個(gè)標(biāo)志不能與 -c 標(biāo)志一起使用。
-w 統(tǒng)計(jì)字?jǐn)?shù)。一個(gè)字被定義為由空白、跳格或換行字符分隔的字符串。

gt是大于的意思。 -eq是等于的意思。 -ne是不等于的意思。 -ge是大于等于的意思。 -lt是小于的意思。 -le是小于等于的意思

.文件前 表示隱藏

查看一個(gè)文件每一行最后更改的詳情(版本、作業(yè))
svn blame filename
查看一個(gè)文件所有更改歷史詳情
svn log --diff filename

關(guān)閉防火墻
https://www.linuxidc.com/Linux/2016-12/138979.htm
'
root
sudo su

Mac mount nfs失敗 增加 -o resvport

sudo mount -t nfs -o resvport,rw centos:/home /rhome

sudo find / -name tomcat

SVN

生成diff文件:

svn diff > xxx.diff

生成 patch:
svn diff > aaa.patch
應(yīng)用 patch:
patch –p0 < ../aaa.patch
刪除該 patch
patch –p0 -R < ../aaa.patch

重復(fù)patch相關(guān)
https://www.crifan.com/patch_error_reversed_or_previously_applied_patch_detected_assume_r_n/

svn回滾
svn revert FILE // 單個(gè)文件回滾
svn revert DIR --depth=infinity // 整個(gè)目錄進(jìn)行遞歸回滾
svn revert . --depth=infinity // 當(dāng)前目錄進(jìn)行遞歸回滾

SCP

scp -r /home/space/a/ root@www.runoob.com:/home/root/b/
從a復(fù)制到b

VI中的多行刪除與復(fù)制
法一:
單行刪除,:1(待刪除行)d
多行刪除 ,:1,10d
法二:
光標(biāo)所在行,dd
光標(biāo)所在行以下的N行,Ndd

tail 命令從指定點(diǎn)開始將文件寫到標(biāo)準(zhǔn)輸出·
tail -n 5 log2014.log
-f 循環(huán)讀取

-q 不顯示處理信息

-v 顯示詳細(xì)的處理信息

-c<數(shù)目> 顯示的字節(jié)數(shù)

-n<行數(shù)> 顯示行數(shù)

SSH免密碼登錄
https://blog.csdn.net/furzoom/article/details/79139570

假設(shè)要登錄的機(jī)器為192.168.1.100,當(dāng)前登錄的機(jī)器為192.168.1.101。

首先在101的機(jī)器上生成密鑰(如果已經(jīng)生成可以跳過):

$ ssh-keygen -t rsa
一路回車即可。

然后在將生成的公鑰復(fù)制到機(jī)器100上的~/.ssh/authorized_keys中,使用如下命令:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.100
root為需要登錄到機(jī)器100上的身份,需要替換成需要的用戶名。

最后,測試免密碼登錄:

$ ssh root@192.168.1.100

shift+pgup或pgdown=終端上下翻頁滾動(dòng)

vi編輯

http://www.cnblogs.com/baichuanhuihai/p/7928404.html

Linux下批量Kill多個(gè)進(jìn)程

ps -ef|grep httpd|grep -v grep|cut -c 9-15|xargs kill -9
管道符“|”用來隔開兩個(gè)命令,管道符左邊命令的輸出會(huì)作為管道符右邊命令的輸入。下面說說用管道符聯(lián)接起來的

幾個(gè)命令:
“ps - ef”是linux 里查看所有進(jìn)程的命令。這時(shí)檢索出的進(jìn)程將作為下一條命令“grep mcfcm_st”的輸入。
“grep httpd”的輸出結(jié)果是,所有含有關(guān)鍵字“httpd”的進(jìn)程,這是Oracle數(shù)據(jù)庫中遠(yuǎn)程連接進(jìn)程的共同特點(diǎn)。
“grep -v grep”是在列出的進(jìn)程中去除含有關(guān)鍵字“grep”的進(jìn)程。
“cut -c 9-15”是截取輸入行的第9個(gè)字符到第15個(gè)字符,而這正好是進(jìn)程號(hào)PID。
“xargs kill -9”中的xargs命令是用來把前面命令的輸出結(jié)果(PID)作為“kill -9”命令的參數(shù),并執(zhí)行該令

查找固定行數(shù)日志
顯示5-10行
sed -n '5,10p' access.log

執(zhí)行歷史命令中的特定命令

在下面的例子中,如果你想再次執(zhí)行第四條命令,執(zhí)行!4即可

history | more

1 service network restart
2 exit
3 id
4 cat /etc/redhat-release

!4 cat /etc/redhat-release

Fedora release 9 (Sulphur)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一章 1.Linux是一套免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),它可以基于Intel x86系列處理器以及Cy...
    yansicing閱讀 5,596評(píng)論 0 9
  • 一、常用操作以及概念快捷鍵求助關(guān)機(jī)PATHsudo包管理工具發(fā)行版VIM 三個(gè)模式GNU開源協(xié)議 二、磁盤HDD磁...
    為心蒔蘿閱讀 275評(píng)論 0 0
  • Linux 目錄 /:根目錄,一般根目錄下只存放目錄,在Linux下有且只有一個(gè)根目錄。所有的東西都是從這里開始。...
    miniminiming閱讀 971評(píng)論 0 4
  • ls 命令說明 ls 是英文單詞 list 的簡寫,其功能為列出目錄的內(nèi)容,是用戶最常用的命令之一,類似于 DOS...
    逗留閱讀 683評(píng)論 0 0
  • 文/雁南飛 一場全生產(chǎn)隊(duì)的抓鬮分地大會(huì)。就這樣在大家的吵鬧聲結(jié)束了。 抓到好地人,歡天喜地激動(dòng)不已,一溜煙的跑回家...
    雁南飛FM閱讀 433評(píng)論 0 2

友情鏈接更多精彩內(nèi)容