linux中bash命令,linux命令的理解

 2023-10-18 阅读 40 评论 0

摘要:. ?表示當前目錄; .. 表示上層目錄; linux中bash命令,~表示用戶主目錄; rm , 是remove的縮寫 ,刪除文件,不能刪除目錄。 shell命令是什么意思,rm ?-r 可以刪除一個目錄及其下面的內容,有提示信息。 rm ?-rf 強力刪除一個目錄及其下面的

. ?表示當前目錄;

.. 表示上層目錄;

linux中bash命令,~表示用戶主目錄;


rm , 是remove的縮寫 ,刪除文件,不能刪除目錄。

shell命令是什么意思,rm ?-r 可以刪除一個目錄及其下面的內容,有提示信息。

rm ?-rf 強力刪除一個目錄及其下面的內容,沒有提示。

mv, 是move的縮寫,移動文件到另一個地方,mv ?[OPTION]... [-T] ? ? SOURCE DEST

linux 進程、將目錄A重命名為B

mv A B

mv ? -i ?a.txt ? B/

shell運行。如果目錄B下有與a.txt同名的文件,則提示是否override.

mv -f a.txt ? ?B/

如果目錄B下有與a.txt同名的文件,不會提示,直接override.


當要大量復制(或移動)文件時,會提示如下錯誤

$ cp sslib1/*.xml sslib/

-bash: /bin/cp: 參數列表過長
解決辦法:

find upload/ -name "*.jpg" -exec mv {} /home/posadm/apache-tomcat-6.0.37/webapps/posm/upload/ ?\;

提示:在使用-exec參數時,必須以“\;”結尾,而且之前要有一個空格,否則,系統會提示“find遺漏-exec參數”,命令將無法執行


chmod u+x ?hello.txt ?,增加文件的權限,

r ,w,x ,

u-->user;g-->group;o-->others;


mkdir ?,新建一個目錄。

mkdir -p about/abc/def?可以遞級創建新的三個目錄

如果想看看mkdir到底做了什么,可以添加選項“-v”,繼續上面舉例:

mkdir -pv about/abc/def


cp ,是copy paste的縮寫,

cp [OPTION]... [-T] SOURCE DEST


cp ?file1 file2

可以在同一個目錄中備份文件,意思是將file1拷備一份同時命名為file2


grep -lr ?13714001947 ?*199002.trc

表示在當前目錄中,在文件名為*199002.trc的文件中查找字符串13714001947,以文件名顯示查找結果。


Linux命令敲錯了,可以按ctrl +c 退出。


tar -cf all.tar *.jpg?

這條命令是將所有.jpg的文件打成一個名為all.tar的包。-c是表示產生新的包?
,-f指定包的文件名。

tar -rf all.tar *.gif

這條命令是將所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的


tar -tf all.tar

這條命令是列出all.tar包中所有文件,-t是列出文件的意思


tar -xf all.tar?

這條命令是解出all.tar包中所有文件,-x是解開的意思


tar -czf all.tar.gz *.jpg

這條命令是將所有.jpg的文件打成一個tar包,并且將其用gzip壓縮,生成一個?
gzip壓縮過的包,包名為all.tar.gz


tar -xzf all.tar.gz

這條命令是將上面產生的包解開

tar -cjf all.tar.bz2 *.jpg

這條命令是將所有.jpg的文件打成一個tar包,并且將其用bzip2壓縮,生成一個?
bzip2壓縮過的包,包名為all.tar.bz2?


tar -xjf all.tar.bz2

這條命令是將上面產生的包解開



tar -cvzf tdshome.tar.gz ?tdshome/ ?--exclude=tdshome/app/posm/upload/skbPic --exclude=tdshome/log --exclude=tdshome/trc --exclude=tdshome/app/posm/exportexcel


查詢當前log目錄下最近兩天所有的以log結束的文件,并壓縮到aaa.tar.gz

find log -name "*.log" -mtime -1|xargs tar -cvzf aaa.tar.gz


?vim hello.c ?//如果hello.c文件不存在,將創建,如果存在,將打開


vim 中查找方法: 用vim找開一個文件時,輸入 /XXXXX,回車即可查找。


vim 中輸入G,可直接定位到文件末尾。


du -h logs/*

--max-depth=1?指定深入目錄的層數

指令 du 能以指定的目錄下的子目錄為單位,顯示每個目錄內所有檔案所占用的磁盤空間大小


true >log.txt ?清空文件的內容


ps ? ?-e 顯示所有進程 ?-f 全格式


rpm -ivh 軟件包名

安裝軟件包并顯示安裝進度。這個是用得最多的了

rpm -qa

查詢已經安裝哪些軟件包。


rpm -q 軟件包名

查詢指定軟件包是否已經安裝。


rpm -Uvh? 軟件包名

升級一個軟件包。


rpm -e 軟件包名

刪除指定軟件包。


netstat?-ntpl?

用于查看系統啟動的服務.


netstat -antp|grep 8013|wc -l

統計開啟端口為8013服務的連接數


find -name 文件名;

根據名稱查找文件。


find -user 屬主名;

根據文件的屬主查詢文件。


whereis 主要用于查找程序文件


which 也是查找命令文件,比如:which mysqldump


whereis -b find 查找find命令文件的存放位置


sz 文件名;

可以傳從linux中傳文件到本地電腦。

rz

從本地傳文件到linux可直接拖到窗口中.


防火墻的開啟/關閉/狀態查看

service iptables start/stop/status


MySQL中導入數據

mysql> source ? xxx.sql;


mysql中數據庫的備份

mysqldump -u 用戶名 ?-p ?數據庫 > ?xxx.sql;

如:mysqldump ?-u ?root ?-p ?z_p2p_quartz ?> ?/home/p2padmin/quartzDump.sql


ping -c 4 www.baidu.com表示發送4次請求。


要將目錄/modules下面所有文件中的zhangsan都修改成lisi,這樣做:

sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`


2.1 將文件1.txt內的文字“garden”替換成“mirGarden”

sed -i "s/garden/mirGarden/g" 1.txt //sed -i 很簡單

2.2 將當前目錄下的所有文件內的“garden”替換成“mirGarden”?

sed -i "s/garden/mirGarden/g" `ls` //其實也就是ls出多個文件名而已


服務器之間文件的復制

yum install openssh-clients

scp root@183.63.52.147:/home/posadm/tdshome/trc/201409/30/jdk1.6.0_45.tar.gz ?/home/michale


在線安裝at

yum install at


在線安裝crontab

yum install -y vixie-cron


查看狀態
service?crond?status

啟動服務
service?crond?start

crontab -e 進行文件的編輯,里面的語法同vi命令


默認情況下,crontab中執行的日志寫在/var/log下


rpm?-Uvh?http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

第三方軟件源


在線安裝sz ,rz命令

yum install-y lrzsz

網絡不通要查看路由

vi /etc/sysconfig/network-scripts/route-eth0

172.18.210.0/24 via 172.18.200.2

添加完之后, service network restart


vi /etc/resolv.conf 設置域名解析服務器


重啟網絡后,是看NetworkManager服務是否也自動開啟了,如果開啟了就要關閉掉。

局域網中添加網關的方法

route add default gw 192.168.1.1

192.168.1.1是你局域網的網關地址


lsof

它的意思是 List Open Files,很簡單你就記住了它是 “ls + of”的組合

lsof 需要訪問核心內存和各種文件,所以必須以 root 用戶的身份運行它才能夠充分地發揮其功能


lsof -i //顯示所有打開的端口

lsof -i:80 //顯示所有打開80端口的進程


在線安裝telnet

yum install telent -y

?telnet?ip?port?的返回值來確定是否開通

https的端口是443


hostname可以查看主機名

vi /etc/sysconfig/network

修改此文件可以修改主機名,修改完成后要重啟服務器。


一臺服務器能ping通,但用telnet訪問一個開啟了的端口時不通,可能原因是開啟了防火墻,關閉掉就行



s按時間排序
ls -lt 從新到舊
ls -lrt 從舊到新

Linux下如何查看一個目錄下的內容?并按照修改時間升序排序
命令:ls -lrt
詳細解釋:

-l ????use a long listing format ?以長列表方式顯示(詳細信息方式)
-t ????sort by modification time 按修改時間排序(最新的在最前面)
-r ????reverse order while sorting (反序)
-s sort by file size (按文件大小排序)


ls -lrt `grep -lr 183.63.52.147 *701137.trc`

查找包括指定內容的所有文件,并列出文件的詳細情況,并排序。

查看目錄的大小

du ?-s dir;dir代表要查看的目錄, 文件也行

刪除文件后,重啟系統磁盤空間才會增加

du -sh *

查看當前目錄下各文件的大小


linux中查看內存的使用情況

cat /proc/meminfo


mtime查詢的是文件last modified時間,其中最讓人迷惑的就是參數 +N?、 N?、 -N 三個參數的意義了。

網上有朋友說不同linux版本這3個參數意義不同,我沒有考證,下面的說明都是基于centos5.5 64bit final。

?

?

+N

-∞ —— (當前時間-(N+1)*24)

-N

(當前時間-N*24)—— +∞

N

(當前時間-(n+1)*24?—— (當前時間 - n*24)

?

#一些應用

-mtime 0:24小時內

-daystart -mtime 0:今天00:00:00至現在被修改的文件,注意順序! -mtime 0 -daystart 將得到錯誤的結果。

-mtime +0: 24小時前?



虛擬機安裝了Centos,忘記了root密碼,如何處理

(1)重新啟動Centos,在啟動過程中,長按“ESC”鍵,進入GNU GRUB界面

? (2)選擇要進入的系統,按“E”鍵(在啟動之前編輯命令)。

? ? (3)選擇第二項操作系統的內核“kernel”,按"E"鍵(在引導順序編輯選定的命令)

(4)在 “rhgb quiet”后面間隔,輸入“1”或者“single”,按Enter鍵保存。(向內核傳遞啟動參數,進入單用戶模式)

此時又回到GRUB界面.

(5)這時,按“B”鍵啟動系統。

(6)輸入命令行“passwd root”重新修改root的密碼,按“Enter”鍵

? (7) ?reboot重啟系統


linux如何查看所有的用戶和組信息

1、cat /etc/passwd;
2、cat /etc/group


awk是以文件的一行為處理單位的,awk每接收文件的一行,然后執行相就的命令,來處理文件,

文件的每一行中,由域分隔符分開的每一項稱為一個哉。通常,在不指名-F域分隔符的情況下,默認的域分隔符是空格

cat /etc/passwd|awk -F ':' '{print $1","$7}'

打印每一行的第一個域及第7個域,$0表示所有哉



curl ip.cn ?查看外網ip


查看CPU的內存使用狀態

top


%us:表示用戶空間程序的cpu使用率(沒有通過nice調度)

%sy:表示系統空間的cpu使用率,主要是內核程序。

%ni:表示用戶空間且通過nice調度過的程序的cpu使用率。

%id:空閑cpu

%wa:cpu運行時在等待io的時間

%hi:cpu處理硬中斷的數量

%si:cpu處理軟中斷的數量

%st:被虛擬機偷走的cpu



版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/155182.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息