Linux commands: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
Line 27: Line 27:


== file operation ==
== file operation ==
find a file
=== find a file ===
* find ({{Linux}}) ex: {{kbd | key= find / -iname ''filename''}} Find the '''case-insensitive''' file name Under the path / (root folder) <ref> [http://unix.stackexchange.com/questions/32155/find-command-how-to-ignore-case Find command: how to ignore case? - Unix and Linux]; Find the '''case-sensitive''' file name Under the path / (root folder) ex: {{kbd | key= find / -name ''filename''}}  ref:[http://www.codecoffee.com/tipsforlinux/articles/21.html Tips For Linux - How to find files in Linux using 'find']</ref>
* find ({{Linux}}) ex: {{kbd | key= find / -iname ''filename''}} Find the '''case-insensitive''' file name Under the path / (root folder) <ref> [http://unix.stackexchange.com/questions/32155/find-command-how-to-ignore-case Find command: how to ignore case? - Unix and Linux]; Find the '''case-sensitive''' file name Under the path / (root folder) ex: {{kbd | key= find / -name ''filename''}}  ref:[http://www.codecoffee.com/tipsforlinux/articles/21.html Tips For Linux - How to find files in Linux using 'find']</ref>


* dir ({{Win}}) ex: {{kbd | key= dir /s ''filename''}} <ref>[http://www.computerhope.com/issues/ch000309.htm How to find a file in MS-DOS.]</ref><ref>/S          顯示指定目錄及所有子目錄中的檔案。  (引用自 dir /? 命令說明)</ref> {{exclaim}} I have no idea to specify the file path to find the file.
* dir ({{Win}}) ex: {{kbd | key= dir /s ''filename''}} <ref>[http://www.computerhope.com/issues/ch000309.htm How to find a file in MS-DOS.]</ref><ref>/S          顯示指定目錄及所有子目錄中的檔案。  (引用自 dir /? 命令說明)</ref> {{exclaim}} I have no idea to specify the file path to find the file.


copy old directory to new directory  
=== copy old directory to new directory ===
* {{kbd | key=cp -a ''old_dir new_dir/''}} ({{Linux}})
* {{kbd | key=cp -a ''old_dir new_dir/''}} ({{Linux}})
*  {{kbd | key=copy /Y ''old_dir new_dir/''}} ({{Win}})<ref> /Y 不顯示覆寫現存目的檔案的確認提示。 (引用自 copy /? 命令說明)</ref>
*  {{kbd | key=copy /Y ''old_dir new_dir/''}} ({{Win}})<ref> /Y 不顯示覆寫現存目的檔案的確認提示。 (引用自 copy /? 命令說明)</ref>
Line 39: Line 39:
** cp ''old_dir/* new_dir''
** cp ''old_dir/* new_dir''


download file from remote server
=== download file from remote server ===
* FTP
* FTP
* wget: {{kbd | key= <nowiki>wget http://path.to/file</nowiki>}}
* wget: {{kbd | key= <nowiki>wget http://path.to/file</nowiki>}}
Line 46: Line 46:




delete files or directory
=== delete files or directory ===
* {{kbd | key=rm -rf ''/Name_of_directory''}} ({{Linux}})<ref><nowiki>[OPTION]</nowiki>
* {{kbd | key=rm -rf ''/Name_of_directory''}} ({{Linux}})<ref><nowiki>[OPTION]</nowiki>
* -r  remove directories and their contents recursively;  
* -r  remove directories and their contents recursively;  
Line 57: Line 57:
* {{kbd | key=<nowiki>rsync --delete-before -a -H -v --progress --stats /path/to/empty/folder/ /path/to/target_folder_will_be_deleted/</nowiki>}} ({{Linux}})<ref>[http://blog.sina.com.cn/s/blog_5f5a3dff0101e2tm.html Linux下使用rsync最快速删除海量文件的方法_果冻的剥壳_新浪博客]</ref> ''un-verified''
* {{kbd | key=<nowiki>rsync --delete-before -a -H -v --progress --stats /path/to/empty/folder/ /path/to/target_folder_will_be_deleted/</nowiki>}} ({{Linux}})<ref>[http://blog.sina.com.cn/s/blog_5f5a3dff0101e2tm.html Linux下使用rsync最快速删除海量文件的方法_果冻的剥壳_新浪博客]</ref> ''un-verified''


rename (move) files or directory
=== rename (move) files or directory ===
* {{kbd | key=mv ''old_folder_name new_folder_name''}} ({{Linux}})<ref>[http://www.liamdelahunty.com/tips/linux_rename_directory.php Linux Rename Files, Folders or Directories]</ref>
* {{kbd | key=mv ''old_folder_name new_folder_name''}} ({{Linux}})<ref>[http://www.liamdelahunty.com/tips/linux_rename_directory.php Linux Rename Files, Folders or Directories]</ref>
* {{kbd | key=mv ''/path/to/file /path/to/new_folder_name''}} ({{Linux}})
* {{kbd | key=mv ''/path/to/file /path/to/new_folder_name''}} ({{Linux}})
* {{kbd | key=rename ''old_folder_name new_folder_name''}} ({{Win}})<ref>[http://www.computerhope.com/renamehl.htm MS-DOS ren and rename command help]</ref>
* {{kbd | key=rename ''old_folder_name new_folder_name''}} ({{Win}})<ref>[http://www.computerhope.com/renamehl.htm MS-DOS ren and rename command help]</ref>


list directory or files /  list directory contents
=== list directory or files /  list directory contents ===
* ls ({{Linux}}) ex: {{kbd | key= ls -lh}} List detailed information of files <ref>[http://linux.vbird.org/linux_basic/0210filepermission.php 鳥哥的 Linux 私房菜 -- Linux 的檔案權限與目錄配置]</ref> <ref>[OPTION]
* ls ({{Linux}}) ex: {{kbd | key= ls -lh}} List detailed information of files <ref>[http://linux.vbird.org/linux_basic/0210filepermission.php 鳥哥的 Linux 私房菜 -- Linux 的檔案權限與目錄配置]</ref> <ref>[OPTION]
* -l use a long listing format
* -l use a long listing format
Line 68: Line 68:
* dir ({{Win}}) ex: {{kbd | key= dir/s/b}} is equal to {{Linux}} {{kbd | key= find /path/to/files/ -print}} <ref>[http://superuser.com/questions/159975/making-ls-output-like-dir-b-s linux - Making ls output like dir /b /s - Super User]</ref>
* dir ({{Win}}) ex: {{kbd | key= dir/s/b}} is equal to {{Linux}} {{kbd | key= find /path/to/files/ -print}} <ref>[http://superuser.com/questions/159975/making-ls-output-like-dir-b-s linux - Making ls output like dir /b /s - Super User]</ref>


show the current directory
=== show the current directory ===
* {{kbd | key= pwd}}({{Linux}})
* {{kbd | key= pwd}}({{Linux}})
* {{kbd | key= echo %cd%}}({{Win}}) <ref>[http://stackoverflow.com/questions/921741/windows-equivilent-to-unix-pwd Windows equivilent to UNIX pwd - Stack Overflow]</ref>
* {{kbd | key= echo %cd%}}({{Win}}) <ref>[http://stackoverflow.com/questions/921741/windows-equivilent-to-unix-pwd Windows equivilent to UNIX pwd - Stack Overflow]</ref>


file compression
=== file compression and decompression ===
compress
* {{kbd | key= gzip -v big.file}}({{Linux}})
* {{kbd | key= gzip -v big.file}}({{Linux}})
* {{kbd | key= <nowiki>pv big.file | gzip > big.file.gz</nowiki> }}({{Linux}})<ref>[http://www.catonmat.net/blog/unix-utilities-pipe-viewer/ A Unix Utility You Should Know About: Pipe Viewer - good coders code, great reuse]</ref>
* {{kbd | key= <nowiki>pv big.file | gzip > big.file.gz</nowiki> }}({{Linux}})<ref>[http://www.catonmat.net/blog/unix-utilities-pipe-viewer/ A Unix Utility You Should Know About: Pipe Viewer - good coders code, great reuse]</ref>
decompress
* {{kbd | key= gunzip -c big.file.gz > big.file}}({{Linux}}) keep the gz file<ref>[http://superuser.com/questions/45650/how-do-you-gunzip-a-file-and-keep-the-gz-file linux - How do you gunzip a file and keep the .gz file? - Super User]</ref>
* {{kbd | key= gzip -d big.file.gz}}({{Linux}}) NOT keep the gz file


== network ==
== network ==

Revision as of 12:21, 30 December 2013

(1) alternative Linux commands to complete the same task, (2) The equivalent or similar commands between Windows and Linux system.

Owl icon.jpg help for command: Type command --help or man command (Linux Os linux.png )

text file manipulation

display the first lines of text file

  • head [options] filename (OS: Linux Os linux.png )
  • vi [options] filename (and press gg) (Linux Os linux.png )
  • vim [options] filename (and press gg) (Linux Os linux.png ); Open file and press gg for gVim (Win Os windows.png )

display the last few lines of text file

  • tail [options] filename (Linux Os linux.png )
  • vi [options] filename (and press G) (Linux Os linux.png )
  • vim [options] filename (and press G) (Linux Os linux.png ); Open file and press G for gVim (Win Os windows.png )
  • Tail for Win32 GUI interface (Win Os windows.png ) Icon_exclaim.gif not support Unicode file for v.4.2.6

Display the full text file

  • vi [options] filename (Linux Os linux.png )
  • cat filename (Linux Os linux.png )

Search text in a file

  • (1)vim [options] filename (2)press /keyword (Linux Os linux.png )
  • grep: grep -ir "string to search" /path/to/directory or grep keyword /path/to/file (Linux Os linux.png )
  • cat & grep: cat /path/to/file | grep keyword (Linux Os linux.png ) keyword is case sensitive

Search text in files

file operation

find a file

  • find (Linux Os linux.png ) ex: find / -iname filename Find the case-insensitive file name Under the path / (root folder) [1]
  • dir (Win Os windows.png ) ex: dir /s filename [2][3] Icon_exclaim.gif I have no idea to specify the file path to find the file.

copy old directory to new directory

  • cp -a old_dir new_dir/ (Linux Os linux.png )
  • copy /Y old_dir new_dir/ (Win Os windows.png )[4]
  • make new directory & copy all old files to new directory
    • mkdir new_dir
    • cp old_dir/* new_dir

download file from remote server

  • FTP
  • wget: wget http://path.to/file
  • SVN update: svn up http://remote.svn.server/path/ /local/path/ --username=your_account and key in your SVN password [5]
  • more on File transfer methods


delete files or directory

  • rm -rf /Name_of_directory (Linux Os linux.png )[6]
  • del Name_of_directory (Win Os windows.png )
    • After executed del Name_of_directory but the empty directory directory_name will be left.
    • Command delete is not available in Win XP
  • rsync --delete-before -a -H -v --progress --stats /path/to/empty/folder/ /path/to/target_folder_will_be_deleted/ (Linux Os linux.png )[7] un-verified

rename (move) files or directory

  • mv old_folder_name new_folder_name (Linux Os linux.png )[8]
  • mv /path/to/file /path/to/new_folder_name (Linux Os linux.png )
  • rename old_folder_name new_folder_name (Win Os windows.png )[9]

list directory or files / list directory contents

  • ls (Linux Os linux.png ) ex: ls -lh List detailed information of files [10] [11]
  • dir (Win Os windows.png ) ex: dir/s/b is equal to Linux Os linux.png find /path/to/files/ -print [12]

show the current directory

  • pwd(Linux Os linux.png )
  • echo %cd%(Win Os windows.png ) [13]

file compression and decompression

compress

  • gzip -v big.file(Linux Os linux.png )
  • pv big.file | gzip > big.file.gz(Linux Os linux.png )[14]

decompress

  • gunzip -c big.file.gz > big.file(Linux Os linux.png ) keep the gz file[15]
  • gzip -d big.file.gz(Linux Os linux.png ) NOT keep the gz file

network

show ip

  • ifconfig (Linux Os linux.png )[16][17]
  • ipconfig/all (Win Os windows.png )

ping Icon_exclaim.gif You may got no response if the server was disabled the ICMP (Internet Control Message Protocol) response.

  • ping domain_or_ip (Linux Os linux.png )
  • ping domain_or_ip -t (Win Os windows.png )

whois: search the information of domain (related: Domain Name Register)

apache operation

check apache servie is running or not

  • service --status-all | grep -i httpd (Linux Os linux.png [18][19])
  • netstat -npl | grep httpd for Linux Os linux.png [20]
  • netstat -an | find /i "listening" (Win Os windows.png ) find the local open ports & find local address TCP 0.0.0.0:80 is listening[21]
  • more on connection test...

Where is apache installed?[22]

  • cat /etc/rc.d/rc.local if the apache service is already launched

check which mpm (multi processing module) apache is running

  • httpd -l (Linux Os linux.png & Win Os windows.png ) ex: Linux Os linux.png /usr/local/httpd/bin/httpd -l or Win Os windows.png x:\apache\bin>httpd -l where x:\apache is the installation folder of apache [23]

mysql operation

import MySql sql dump file

Icon_exclaim.gif Notice: existing database will be overwritten

  • Good.gif Import the compressed *.sql file with gzip (especially for BIG sql file). It will show a progress bar and estimate time to complete the mysql command:
    1. (optional if the pv was not installed) yum install pv for RHEL / CentOS / SL / Fedora Linux[24]
    2. pv database.sql.gz | gunzip | mysql -u username -p -h localhost DATA-BASE-NAME [25] and press Enter
    3. enter password and press Enter
  • Import *.sql file:
    1. (optional if the .sql file was compressed) unzip data.zip or gzip -d data.gz if the file was compressed by gzip
    2. mysql -u username -p -h localhost DATA-BASE-NAME < data.sql [26] and press Enter
    3. enter password and press Enter
  • Import the *.sql file (especially for BIG sql file). It will show a progress bar and estimate time to complete the mysql command[27]:
    1. (optional if the pv was not installed) yum install pv for RHEL / CentOS / SL / Fedora Linux[28]
    2. pv data.sql | mysql -u username -p -h localhost DATA-BASE-NAME [29] and press Enter
    3. enter password and press Enter
  • Import ZIP file to MySql directly:
    1. 7za x -so data.zip | mysql -u username -p -h localhost DATA-BASE-NAME [30][31] and press Enter
    2. enter password and press Enter

export MySql sql dump file

  • export the *.sql file
    1. mysqldump -h localhost -u username -p DATA-BASE-NAME > /path/to/database.sql
  • export the *.sql file (especially for BIG sql file). It will show a progress bar and estimate time to complete the mysqldump[32]:
    1. (optional if the pv was not installed) yum install pv for RHEL / CentOS / SL / Fedora Linux[33]
    2. (for InnoDB tables)mysqldump -h localhost -u username -p --single-transaction DATA-BASE-NAME | pv | gzip -c > database.sql.gz [34][35] and press Enter
    3. enter password and press Enter

system operation

show current time

  • date (Linux Os linux.png ) output: Thu Oct 25 15:05:10 CST 2012 [36]
  • date/t (Win Os windows.png )
output:
OS in English: Thu 05/03/2012
OS in Chinese: 2012/05/03 星期四

specify the location where Linux or MS-DOS looks when using a command

  • echo $PATH (Linux Os linux.png )[37]
  • echo %PATH% (Win Os windows.png )[38]

reboot the system/server

  • reboot (Linux Os linux.png )[39]
  • shutdown -r (Win Os windows.png )[40]

OS version

  • lsb_release -a (Linux Os linux.png )[41]
  • ver (Win Os windows.png )[42]

Search text of command output

  • linux command | grep string (Linux Os linux.png ) ex: keyin yum list installed | grep tar to search the installed package naming tar.[43]
  • Windows command | find "string" (Win Os windows.png ) ex: netstat -a | find "3306" (note: enclose string in double quotation marks)[44]

help for command

view the documentation for this command

  • command --help or man command (Linux Os linux.png )
  • command /? (Win Os windows.png )

emergency exit

  • ctrl+c or ctrl+break (Linux Os linux.png & Win Os windows.png )
  • Pause/Break (Linux Os linux.png ) ex: I pressed the key to leave from the warning message "Vim: Warning: Output is not to a terminal".

references

  1. Find command: how to ignore case? - Unix and Linux; Find the case-sensitive file name Under the path / (root folder) ex: find / -name filename ref:Tips For Linux - How to find files in Linux using 'find'
  2. How to find a file in MS-DOS.
  3. /S 顯示指定目錄及所有子目錄中的檔案。 (引用自 dir /? 命令說明)
  4. /Y 不顯示覆寫現存目的檔案的確認提示。 (引用自 copy /? 命令說明)
  5. using the www account su - www -c "svn up http://remote.svn.server/path/ /local/path/ --username=your_account --password=xxx"
  6. [OPTION]
    • -r remove directories and their contents recursively;
    • -f ignore nonexistent files, never prompt
    (above content cited from linux documentation: rm --help)
  7. Linux下使用rsync最快速删除海量文件的方法_果冻的剥壳_新浪博客
  8. Linux Rename Files, Folders or Directories
  9. MS-DOS ren and rename command help
  10. 鳥哥的 Linux 私房菜 -- Linux 的檔案權限與目錄配置
  11. [OPTION]
    • -l use a long listing format
    • -h, --human-readable; with -l, print sizes in human readable format (e.g., 1K 234M 2G) Quoted from linux man ls
  12. linux - Making ls output like dir /b /s - Super User
  13. Windows equivilent to UNIX pwd - Stack Overflow
  14. A Unix Utility You Should Know About: Pipe Viewer - good coders code, great reuse
  15. linux - How do you gunzip a file and keep the .gz file? - Super User
  16. 鳥哥的 Linux 私房菜 -- Linux 常用網路指令介紹
  17. bash: ifconfig: command not found 無法使用ifconfig指令? 先加上 su -l指令
  18. Red Hat / CentOS: Check / List Running Services
  19. -i means ignore caseHow to use the grep command, by The Linux Information Project (LINFO)
  20. Linux / UNIX Find Out What Program / Service is Listening on a Specific TCP Port
  21. Netstat
  22. Enabling and disabling services during start up in GNU/Linux | All about Linux
  23. Check which mpm (multi processing module) apache is running | Binary Tides
  24. Linux / Unix pv Command: Monitor Progress of Data Sent Via a Pipe
  25. pv + gzip + mysql — W. Andrew Loe III: Journal
  26. Import MySQL Dumpfile, SQL Datafile Into My Database
  27. mysql - How can I monitor the progress of an import of a large .sql file? - Database Administrators Stack Exchange
  28. Linux / Unix pv Command: Monitor Progress of Data Sent Via a Pipe
  29. Import MySQL Dumpfile, SQL Datafile Into My Database
  30. database - Importing zipped files in Mysql using command line - Stack Overflow
  31. Install 7Zip on CentOS 5.5
  32. mysql - How can I monitor the progress of an import of a large .sql file? - Database Administrators Stack Exchange
  33. Linux / Unix pv Command: Monitor Progress of Data Sent Via a Pipe
  34. pv + gzip + mysql — W. Andrew Loe III: Journal
  35. (if have permission to LOCK TABLES)mysqldump -h localhost -u username -p DATA-BASE-NAME | pv | gzip -c > database.sql.gz (if have no permission to LOCK TABLES)mysqldump -h localhost -u username -p --lock-tables=false DATA-BASE-NAME | pv | gzip -c > database.sql.gz via mysql - Run MySQLDump without Locking Tables - Stack Overflow
  36. 鳥哥的 Linux 私房菜 -- NTP 時間伺服器
  37. 鳥哥的 Linux 私房菜 -- 檔案與目錄管理 -- 關於執行檔路徑的變數: $PATH
  38. How to setup my system path
  39. reboot - Linux Command - Unix Command
  40. Windows原來也有內建好用的關機軟體(Shutdown.exe) | ㊣軟體玩家
  41. The Will Will Web | 如何查詢 Linux 的種類與版本 ( Linux Standard Base )
  42. Find windows OS version from command line
  43. Unix/Linux grep command examples | grep command in Unix and Linux | grep examples | alvinalexander.com
  44. Microsoft Windows XP - Find

further reading