linux常用命令有哪些
Linux是我們開發人員必不可少的系統,也是經常接觸到的。然而,Linux命令比較多,有些不常用也難記住。那么,我們如何更高效的使用Linux命令,而又不必全面地學習呢?今天就給大家分享一下我在開發過程中,比較常用、也比較實用的Linux命令。
01查看文件或日志
查看文件內容或日志文件,相信幾乎所有人都會接觸到。其中,用得最多的就是head、tail和cat命令。
1、head
表示頭部,查看最前面幾行數據。
headtest.log:test.log文件前幾行日志內容
head-n20test.log:查看test.log文件前20行日志內容
head-n-20test.log:查看test.log除了最后20行日志內容
2、tail
表示尾部,查看最后幾行或實時日志。
tail-ftest.log:實時查看test.log文件最后幾行日志內容
tail-f-n20test.log:實時查看test.log文件最后20行日志內容
tail-n20test.log:查看test.log文件最后20行日志內容
tail-n+20test.log:查看test.log文件20行后的所有日志內容
3、cat
用于查看文件內容。
cattest.log:查看test.log文件所有內容
02本地復制
同一臺服務器不同目錄之間復制文件或目錄也是經常用到的。
1、復制文件
cptest.log/home/geshan/logs:復制test.log文件到/home/geshan/logs/目錄下
cptest.log/home/geshan/logs/cptest.log:復制test.log文件到/home/geshan/logs/目錄下并重新命名為cptest.log
2、復制文件夾
cp-rlogs//home/geshan/:復制logs目錄及目錄下所有文件到/home/geshan/目錄下,此時該目錄會有logs目錄
cp-rlogs//home/geshan/testlogs/:復制logs目錄及目錄下所有文件到/home/geshan/testlogs/目錄下,并把logs目錄重新命名為testlogs,前提是/home/geshan/目錄沒有testlogs目錄
注:-r或-R表示循環,循環目錄下所有文件和目錄。下面所有命令也是如此。
03遠程復制
當我們需要從遠程服務器復制某個文件或目錄到本地登錄的服務器時,大部分人想到先登錄遠程服務器下載該文件,然后再登錄本地服務器再上傳文件。這樣是比較麻煩,效率也不高。
1、本地服務器復制到遠程服務器
(1)復制文件
命令1:
scplocal_fileremote_username@remote_ip:remote_folder
命令2:
scplocal_fileremote_username@remote_ip:remote_file
命令3:
scplocal_fileremote_ip:remote_folder
命令4:
scplocal_fileremote_ip:remote_file
第1,2個指定了用戶名,命令執行后需要輸入用戶密碼,第1個僅指定了遠程的目錄,文件名字不變;第2個指定了文件名;第3,4個沒有指定用戶名,命令執行后默認與當前服務器用戶名并需要輸入用戶密碼,第3個僅指定了遠程的目錄,文件名字不變,第4個指定了文件名。
實例1:從本地服務器復制test.log至192.168.130.130服務器的/home/geshan/目錄,并重新命名為
20190125.log
命令:
實例2:從本地服務器復制test.log至192.168.130.130服務器的/home/geshan/目錄
命令:
(2)復制目錄
命令1:
scp-rlocal_folderremote_username@remote_ip:remote_folder
命令2:
scp-rlocal_folderremote_ip:remote_folder
第1個指定了用戶名,命令執行后需要輸入用戶密碼;第2個沒有指定用戶名,命令執行后需要輸入用戶名和密碼。
實例:從本地服務器/home/appuser/目錄下的tomcat目錄復制到192.168.130.130服務器的/home/geshan/目錄命令:
2、從遠程服務器復制到本地服務器
從遠程復制到本地的scp命令與上面的命令雷同,只要將從本地復制到遠程的命令后面2個參數互換順序就行了。
(1)復制文件
實例:
從192.168.130.130遠程服務器的/home/geshan/路徑下test.log文件復制到本地服務器/home/appuser/路徑
命令:
scproot@192.168.130.130:/home/geshan/test.log/home/appuser/
(2)復制目錄
實例:從192.168.130.130遠程服務器的/home/geshan/路徑下tomcat文件夾復制到本地服務器/home/appuser/路徑
命令:
注:ip地址和路徑之間(即冒號之間)沒有任何空格,否則會報錯。當第一次和另外一臺服務通信(如復制文件),會提示是否信任,輸入yes即可。
04壓縮和解壓
壓縮和解壓文件也是經常遇到的。如果下載一個目錄下的所有文件,可以直接下載這個目錄,但是直接下載目錄的話,文件一旦很多,下載過程中很容易丟失文件,下載速度也比較慢。一般情況下是先壓縮文件夾再下載。下面給大家介紹四種壓縮和解壓命令。
1、tar命令
解壓:
壓縮:
實例:解壓一個log.tar文件:
壓縮log目錄并命名為log.tar:
2、gz命令
壓縮:
注:壓縮為.gz文件源文件會消失如果想保留源文件,使用下面命令
解壓:
.tar.gz和.tgz解壓:
壓縮:
壓縮多個文件:
實例:解壓tomcat.tar.gz文件
壓縮tomcat目錄,并命名為tomcat.tar.gz文件
3、zip命令
解壓:unzipfileName.zip壓縮:
注:壓縮目錄時,需加-r,表示循環該目錄下所有文件和目錄。壓縮多個文件或目錄時,文件或目錄之間需要空格。
實例:解壓一個log.zip文件:
壓縮log文件目錄并命名為log.zip:
壓縮log1和log2目錄并命名為log.zip:
壓縮test1.log和test2.log文件并命名為log.zip:
4、rar命令
同理,和zip命令類似,只需把zip改為rar即可。
05修改權限
Linux系統中文件和目錄訪問權限是不同的,通過些方式可以確定誰可以對該文件和目錄進行相應的操作。
其中,文件或目錄的訪問權限分為只讀,只寫和可執行三種,分別代表可讀、可寫和可執行。
1、chgrp命令
改變文件或目錄所屬的組。命令:
實例:把test.log文件所屬的組修改為geshan組
把logs目錄及該目錄下所有文件所屬的組修改為geshan組
2、chown命令
更改某個文件或目錄所屬的用戶。命令:
實例:把test.log文件所屬用戶修改為geshan用戶
把logs目錄及該目錄下所有文件所屬用戶修改為geshan用戶
3、chmod命令
用于改變文件或目錄的訪問權限。用戶用它控制文件或目錄的訪問權限。命令:
其中,mode有很多種表示含義,下面只對數字說明。大部分人看到mode有777或776等權限,這些表示什么呢?
為了方便,把mode改為abc,其中a,b,c各為一個數字,分別表示user、group及other的權限。r=4,w=2,x=1,r表示Read讀,w表示Write寫,x表示eXecute。
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5。
實例:把test.log文件修改可讀寫執行(即777)操作。
把logs目錄及目錄下所有文件修改為讀寫(666)操作。
在Linux系統中輸入ll(兩個小寫LL),如果文件或目錄為777(讀寫執行)權限,可看到最前面為-rwxrwxrwx。如果為666(讀寫)權限,可看到最前面為-rw-rw-rw。
注:一般修改文件或目錄權限需要超級用戶(root)進行修改,否則可能會報權限不足。
這些Linux命令是比較常用實用的命令,肯定會有用得到的時候,如果對你有所幫助,記得點贊收藏轉發哦!
請問win10寫的代碼怎么保證在Linux上能正確運行
你只要有一個linux的系統就行了,windows的系統可以裝一個軟件VMwareWorkstationPro,這是個虛擬機,在這個軟件里邊在安裝個linux的系統,比如centos這個版本,這個過程可以去b站找找,搜索學習linux類似的詞語。視頻的操作和步驟比較全,我上大學的時候也靠的b站的視頻,現在不做這個了,也就有點印象。
再提點其它的,剛學習的時候這個東西不吃配置,我當時的電腦cpu只是2核的,內存是4+8,運行這個軟件問題不大,就是比較費流量。
在Linux系統中如何用logrotate實現系統日志自動分割
明天就這這個的文章了,你明天晚上或者后天早晨應該可以看到了.
文章已經編輯好了,明天早晨8點,定時發送。有打算了解的,可以去看下。謝謝
你用過哪些好的Windows高效率的軟件
感謝邀請吐槽哥。用過這么多年的Windows電腦(從Windows97、XP、7、8、10).....用過很多款,總有一些藏品。
老XP,是不是很懷念!
客觀來講,每種工具能滿足的任務和需求各有不同,在電子化辦公中,往往都會遇到一些需要不斷重復的事兒,那就需要自動化的工具吧。作為一個資深的重度電腦依賴癥患者,并且從小學四年級開始玩電腦的90后,一直在追求高效率辦公、高效率做事的風格,當然,高效率也需要好的軟件工具來輔助。
專業級屏幕截圖工具:AshampooSnap
平時辦公中需要用到各種截圖,如何截圖更加專業高級?AshampooSnap可以幫到你,它是一款強大的專業級屏幕截圖工具,支持窗口、菜單、網頁、自由選區、視頻的截取,可以捕獲任意圖片和視頻,選擇各種捕獲形狀,及時捕獲桌面上所有可見內容,還可支持定時截圖。其長圖截取功能,能夠截取整個豎直方向上的網頁、文件夾或者文檔的內容。支持任意區域截圖、菜單截圖,可錄制桌面視頻。支持多種截圖方式,全屏截圖、區域截圖、手繪區域截圖、滾動屏幕截圖等。
效率提升度:★★★★★
圖片優化工具:智圖
智圖是騰訊ISUX前端團隊開發的一個專門用于圖片壓縮和圖片格式轉換的平臺,其功能包括針對png,jpeg,gif等各類格式圖片的壓縮,以及為上傳圖片自動選擇最優的圖片格式。同時,智圖平臺還會為用戶轉換一份webp格式的圖片。只需要將要優化的圖片拉至首頁的拖拽區域后,系統會自動上傳圖片并經過智圖壓縮,返回新的圖片。也可以根據自己的實際使用情況選擇不同的壓縮率。
效率提升度:★★★★☆
原型設計與協同工具:墨刀
好的原型工具軟件可以大大提高工作效率,但是每款工具各有優劣。墨刀是一款在線的原型工具,讓您十分鐘設計一個App原型。墨刀具有便捷式交互、在線協同、打點評論、真機模擬演示、sketch插件等功能,快速上手,功能強大、學習成本低。
效率提升度:★★★★☆
思維腦圖工具:Mindnode
當我們在談論思維導圖時我們其實在談論一種發散型的思維方式,一種行之有效的圖形思維工具??赡苣氵€不知道「思維腦圖」是什么意思,它可以將人類的放射性思維開發到最大程度,有效地提高思考和工作效率。思維導圖軟件比較經典的有XMIND、MindManager、FreeMind等等,本次我們推薦這一款。Mindnode能夠讓我們快速的創建出美觀的思維導圖,單擊一次即可創建新節點,支持iCloud共享,并且具有iPhone和iPad客戶端,支持iCloudDrive和HandsOff協作功能。
效率提升度:★★★★★
團隊協同辦公工具:Worktile
雖然每個工作需求都有獨立的工具解決,但彼此之間是割裂的,信息分散在不同的場景中。Worktile是一個團隊協同辦公工具,通過簡單的協作、溝通和分享,實現團隊交互與任務管理的輕松協作??梢耘c團隊一起工作,項目、任務、文件、討論、文檔、事件、活動流、通知和日歷。貫通企業IM、項目管理、日程安排、電話會議、日報周報、企業網盤、審批,以及100+服務集成。
效率提升度:★★★★★
全類型圖形圖表設計軟件:億圖圖示
億圖圖示是一款跨平臺的全類型圖形圖表設計軟件,包含大量的事例庫和模板庫。使用它可以非常容易地創建有專業水準的流程圖、組織結構圖、網絡圖、商業展示、建筑平面圖、思維導圖、科學插畫、時尚設計、UML圖、工作流程圖、程序結構圖、網頁設計圖、電氣工程圖、方向地圖、數據庫圖表及更多及更多260種繪圖??梢砸绘I導出到PDF,Word,PPT,Excel,圖片,HTML,Visio等文件格式,方便您與他人進行分享,導出的文件仍然保留矢量格式。
效率提升度:★★★★★
財務費用報銷管理工具:報銷吧
報銷吧是一家基于Saas的企業差旅和費用報銷管理工具。不僅可以一鍵真假發票OCR識別技術,還有著非常強大的融合預算控制功能,報銷吧基于企業信用進行先行墊付,支持企業月結,報銷吧主打費用管理,支持代報銷、費用控制、費用分攤、溝通和通知、出差比價、貨幣匯率、自定義消費類型等功能,是商務出差報銷的人員的必備神器軟件,工作跑業務,報銷記錄必備,牛逼的OCR發票識別技術不需要過多解釋,自己體驗試用了才知道!工具含有網頁版/手機客戶端/企業微信版等。
效率提升度:★★★★★
PDF合集工具箱:PDFCandy
不管是看文檔看文件,生活辦公都離不開PDF。PDFCandy是一個匯集了許多常用PDF工具的網站,主要分成三大類包括將PDF轉成其他格式(Word、JPG、PNG、TIFF和BMP),將各種格式轉為PDF檔,還有合并、分離、壓縮、解鎖、密碼保護、旋轉、加上浮水印和刪除頁面等功能。
效率提升度:★★★★☆
俗話說“工欲善其事,必先利其器”,這句話不是沒有道理的,一款軟件的好壞關系到你的工作的質量以及效率。
python是怎樣的編程語言
python非常容易上手,而且能干很多事情,WEB開發,機器學習人工智能,數據分析,量化投資,爬蟲等,基本可以應用到各行各業,而且大家都在做基于PYTHON的庫,使得PYTHON語言變成一門直接拿來就能用的語言,更像一種工具了,比如機器學習,可能理論很復雜,但是實際在PYTHON中僅僅幾行代碼就能實現,不用花太多時間用在碼代碼上面,學過python之后就再也不想寫其他語言了,python現在是越來越火。
在Linux系統下使用SSH實現端口映射的方法
從技術角度來分析,幾個要求:
1、從安全方面看,sftp會更安全一點
2、線上服務器提供在線服務,對用戶需要控制,只能讓用戶在自己的home目錄下活動
3、用戶只能使用sftp,不能ssh到機器進行操作
提供sftp服務,可以用系統自帶的internal-sftp,也可以使用vsftpd,這里需求不多,直接選用internal-sftp。
限制用戶只能在自己的home目錄下活動,這里需要使用到chroot,openssh4.8p1以后都支持chroot,我現在用的是centos6.3,自帶的openssh已經是5.3p1,足夠了。
可以輸入:
#ssh-v
來查看openssh的版本,如果低于4.8p1,需要自行升級安裝,不在這里具體介紹了。
假設,有一個名為sftp的組,這個組中的用戶只能使用sftp,不能使用ssh,且sftp登錄后只能在自己的home目錄下活動
1、創建sftp組
#groupaddsftp
2、創建一個sftp用戶,名為mysftp
#useradd-gsftp-s/bin/falsemysftp
#passwdmysftp
3、sftp組的用戶的home目錄統一指定到/data/sftp下,按用戶名區分,這里先新建一個mysftp目錄,然后指定mysftp的home為/data/sftp/mysftp
#mkdir-p/data/sftp/mysftp
#usermod-d/data/sftp/mysftpmysftp
4、配置sshd_config
編輯/etc/ssh/sshd_config
#vim+132/etc/ssh/sshd_config
找到如下這行,并注釋掉
subsystemsftp/usr/libexec/openssh/sftp-server
添加如下幾行
subsystemsftpinternal-sftp
matchgroupsftp
chrootdirectory/data/sftp/%u
forcecommandinternal-sftp
allowtcpforwardingno
x11forwardingno
解釋一下添加的幾行的意思
subsystemsftpinternal-sftp
這行指定使用sftp服務使用系統自帶的internal-sftp
matchgroupsftp
這行用來匹配sftp組的用戶,如果要匹配多個組,多個組之間用逗號分割
當然,也可以匹配用戶
matchusermysftp
這樣就可以匹配用戶了,多個用戶名之間也是用逗號分割,但我們這里按組匹配更靈活和方便
chrootdirectory/data/sftp/%u
用chroot將用戶的根目錄指定到/data/sftp/%u,%u代表用戶名,這樣用戶就只能在/data/sftp/%u下活動,chroot的含義,可以參考這里:http://www.ibm.com/developerworks/cn/linux/l-cn-chroot/
forcecommandinternal-sftp
指定sftp命令
allowtcpforwardingno
x11forwardingno
這兩行,如果不希望該用戶能使用端口轉發的話就加上,否則刪掉
5、設定chroot目錄權限
#chownroot:sftp/data/sftp/mysftp
#chmod755/data/sftp/mysftp
錯誤的目錄權限設定會導致在log中出現”fatal:badownershipormodesforchrootdirectoryxxxxxx”的內容
目錄的權限設定有兩個要點:
1、由chrootdirectory指定的目錄開始一直往上到系統根目錄為止的目錄擁有者都只能是root
2、由chrootdirectory指定的目錄開始一直往上到系統根目錄為止都不可以具有群組寫入權限
所以遵循以上兩個原則
1)我們將/data/sftp/mysftp的所有者設置為了root,所有組設置為sftp
2)我們將/data/sftp/mysftp的權限設置為755,所有者root有寫入權限,而所有組sftp無寫入權限
6、建立sftp用戶登入后可寫入的目錄
照上面設置后,在重啟sshd服務后,用戶mysftp已經可以登錄,但使用chroot指定根目錄后,根應該是無法寫入的,所以要新建一個目錄供mysftp上傳文件。這個目錄所有者為mysftp,所有組為sftp,所有者有寫入權限,而所有組無寫入權限
#mkdir/data/sftp/mysftp/upload
#chownmysftp:sftp/data/sftp/mysftp/upload
#chmod755/data/sftp/mysftp/upload
7、重啟sshd服務
#servicesshdrestart
到這里,mysftp已經可以通過sftp客戶端登錄并可以上傳文件到upload目錄。
如果還是不能在此目錄下上傳文件,提示沒有權限,檢查selinux是否關閉,可以使用如下指令關閉selinux
修改/etc/selinux/config文件中的selinux=""為disabled,然后重啟?;蛘?/p>
#setenforce0