Linux commands: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
Line 116: Line 116:
* -h, --human-readable; with -l, print sizes in human readable format (e.g., 1K 234M 2G) Quoted from linux {{kbd | key=man ls}}</ref>  
* -h, --human-readable; with -l, print sizes in human readable format (e.g., 1K 234M 2G) Quoted from linux {{kbd | key=man ls}}</ref>  
* ll  ({{Linux}}) {{kbd | key= ll}} = {{kbd | key= ls -l}}
* ll  ({{Linux}}) {{kbd | key= ll}} = {{kbd | key= ls -l}}
* Print the entire path of files and directories in the current directory. On {{Win}} using {{kbd | key= dir/s/b}}, and on {{Linux}} using {{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>.
* Print the entire path of files and '''level-unlimited''' sub-directories in the current directory. On {{Win}} using {{kbd | key= dir/s/b}}, and on {{Linux}} using {{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>.
* {{Gd}}  create ls command in {{Win}} command prompt: {{kbd | key = echo dir %1 > %systemroot%\system32\ls.bat}} Thanks, hmjd!<ref>[http://stackoverflow.com/questions/9362692/how-to-create-ls-in-windows-command-prompt How to create ls in windows command prompt? - Stack Overflow]</ref>
* {{Gd}}  create ls command in {{Win}} command prompt: {{kbd | key = echo dir %1 > %systemroot%\system32\ls.bat}} Thanks, hmjd!<ref>[http://stackoverflow.com/questions/9362692/how-to-create-ls-in-windows-command-prompt How to create ls in windows command prompt? - Stack Overflow]</ref>
* List all files and directories including hidden ones in the current directory. On {{Win}} is {{kbd | key=<nowiki>dir /a</nowiki>}}, and on {{Mac}} or {{Linux}} is {{kbd | key=<nowiki>ls -a</nowiki>}}<ref>[http://www.computerhope.com/issues/ch001039.htm How to see hidden files in MS-DOS and the Command Prompt]</ref><ref>[http://www.cyberciti.biz/faq/bash-shell-display-only-hidden-dot-files/ Bash Shell: Display All Hidden Dot Files In a Directory]</ref>.
* List all files and directories including hidden ones in the current directory. On {{Win}} is {{kbd | key=<nowiki>dir /a</nowiki>}}, and on {{Mac}} or {{Linux}} is {{kbd | key=<nowiki>ls -a</nowiki>}}<ref>[http://www.computerhope.com/issues/ch001039.htm How to see hidden files in MS-DOS and the Command Prompt]</ref><ref>[http://www.cyberciti.biz/faq/bash-shell-display-only-hidden-dot-files/ Bash Shell: Display All Hidden Dot Files In a Directory]</ref>.

Revision as of 19:01, 15 August 2016

(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:
Linux Os linux.png or macOS icon_os_mac.png : Type command_name --help or man command_name  ;
Win Os windows.png : Type command_name /? "Open Source tools Cygwin which provide functionality similar to a Linux distribution on Windows"

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 content of text file

newline count (count the number of lines of a file), word count

  • wc -l <filename> for Linux Os linux.png [1] ex: wc -l *.txt to print the newline count of txt files of the current folder
  • wc -l "$(cygpath -u '<path to file>')" for cygwin on Win Os windows.png ex: wc -l "$(cygpath -u 'c:\Program Files\file.txt')"[2]

Save a Unix manpage as plain text

Search text in a file

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

Search text in a compressed text file

  • zcat & grep: cat /path/to/compressed_text.gz | grep keyword (Linux Os linux.png )[3]

Search text in files[4]

Merger multiple plain text files

  • copy *.txt > bundle.txt or copy file1.txt file2.txt > bundle.txt for Win Os windows.png
  • cat *.txt > bundle.txt or cat file1.txt file2.txt > bundle.txt for Linux Os linux.png [5]

file operation

find a file

  • Good.gif locate command (Linux Os linux.png ) ex: locate filename to locate the filename quickly. [6]
  • find command (Linux Os linux.png ) ex: sudo find / -iname filename Find the case-insensitive file name Under the path / (root folder) [7]
  • dir command (Win Os windows.png ) ex: dir /s filename [8][9] Icon_exclaim.gif I have no idea to specify the file path to find the file.

copy & overwrite file

overwrite file without prompt (confirmation): cp command

  • cp -f to_be_copy.file to_be_overwrote.file (Linux Os linux.png )[10]
  • /bin/cp -f to_be_copy.file to_be_overwrote.file (Linux Os linux.png )

copy old directory to new directory

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

delete files or directory

delete all files or directory

  • rm -rf /Name_of_directory to delete all files under the 'Name_of_directory (Linux Os linux.png )[13]
  • 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
    • Good.gif quick for many small files (1) create a empty folder ex: mkdit /path/to/source (2) To empty the target folder, keyin rsync -avP --delete /path/to/source/ /path/to/target/ (Linux Os linux.png )
    • rsync --delete-before -a -H -v --progress --stats /path/to/empty/folder/ /path/to/target_folder_will_be_deleted/ (Linux Os linux.png )[14] un-verified
  • S/FTP to the server and delete selected files

delete the files with the naming rule

  • find . -name 'naming_rule' -type f -delete [15]

download file from remote server

  • FTP
  • wget (with progress bar): 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 [16]
  • more on File transfer methods


file compression and decompression

compress

decompress

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

ref

list directory or files / list directory contents

  • ls (Linux Os linux.png ) ex: ls -lh List detailed information of files [19] [20]
  • ll (Linux Os linux.png ) ll = ls -l
  • Print the entire path of files and level-unlimited sub-directories in the current directory. On Win Os windows.png using dir/s/b, and on Linux Os linux.png using find /path/to/files/ -print [21].
  • Good.gif create ls command in Win Os windows.png command prompt: echo dir %1 > %systemroot%\system32\ls.bat Thanks, hmjd![22]
  • List all files and directories including hidden ones in the current directory. On Win Os windows.png is dir /a, and on macOS icon_os_mac.png or Linux Os linux.png is ls -a[23][24].

rename (move) files or directory

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


print the current directory / where am i

  • Linux Os linux.png : pwd (print working directory)
  • Win Os windows.png : echo %cd% (current directory) [27]

change directory to my home directory

  • cd ~/ or cd $HOME (Linux Os linux.png ) will switch to my home directory ex: /Users/ACCOUNT[28]
  • cd %UserProfile% (Win Os windows.png ) will switch to my home directory ex: C:\Users\ACCOUNT more on MS_Windows_Explorer[29]

network

show ip

  • ifconfig (Linux Os linux.png )[30][31]
  • 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 [32][33])
  • netstat -npl | grep httpd for Linux Os linux.png [34]
  • 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[35]
  • more on connection test...

Where is apache installed?[36]

  • 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 [37]

mysql operation

MySQL commands: 1. Exporting data into MySql sql file & 2. Importing data from MySql sql file

install package


system operation

show current time

  • date (Linux Os linux.png ) output the system date: Thu Oct 25 15:05:10 CST 2012 [40][41]
  • TZ=Asia/Taipei date (Linux Os linux.png ) output the time from the Taipei/CST timezone [42]
  • date/t (Win Os windows.png ) (parameter: /t will not ask you to change the current date)
output:
OS in English: Thu 05/03/2012
OS in Chinese (XP): 2012/05/03 星期四
OS in Chinese (Windows 8): 2014/07/01 週二

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

reboot the system/server

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

OS version

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


Show the process list & kill the process

Show the process list & kill the high-resource-consumption process[48][49]

  1. display the process list
    • top "display Linux tasks" for Linux Os linux.png or
    • top -a or ps aux --sort -rss | more[50] "Sort by memory usage" for Linux Os linux.png
  2. keyin q to leave the process list
  3. find which process to be killed. And then keyin:
    • kill -101 PID to kill the process with PID number: 101[51]
    • kill -9 101 force to kill the process with PID number: 101[52]

Search matched text of command output

  • linux command | awk '/string/' (Linux Os linux.png ) ex:
    • keyin dpkg --get-selections | awk '/tar/' to search the installed package naming tar for Ubuntu.[53]
    • keyin dpkg --get-selections | awk '/zip|unzip/' to search the installed package naming zip or unzip for Ubuntu.
  • linux command | grep string (Linux Os linux.png ) ex: keyin yum list installed | grep tar to search the installed package naming tar for CentOS.[54]
  • Windows command | find "string" (Win Os windows.png ) ex: netstat -a | find "3306" (note: enclose string in double quotation marks)[55]


system CPU, memory and disk space usage

CPU usage / system load average

  • Win Os windows.png :
    • namespace: ROOT\CIMV2
    • WQL query: SELECT LoadPercentage FROM Win32_Processor; No need to divid by CPU cores number for Win8
    • output example: 24 (UInt16, 16 bit Unsigned Integer) unit: %
    • CPU usage = LoadPercentage; unit: %
  • freebsd, Linux Os linux.png & macOS icon_os_mac.png :

Memory usage

  • Win Os windows.png :
    • namespace: ROOT\CIMV2
    • WQL query: SELECT FreePhysicalMemory, TotalVisibleMemorySize FROM Win32_OperatingSystem[56]
    • output example: 21683460 (UInt64, 64 bit Unsigned Integer) unit: KB
    • memory usage = (FreePhysicalMemory * 100) / TotalVisibleMemorySize; unit: %
  • freebsd & Linux Os linux.png :
    • command: free
    • output example:
                               total       used       free     shared    buffers     cached
                    Mem:       8060416    7922496     137920        120     183608     526180
                    -/+ buffers/cache:    7212708     847708
                    Swap:      4194300    1219364    2974936
    • memory usage = 7922496 / 8060416; unit: %
  • macOS icon_os_mac.png (known as Darwin):
    • command: top -l 1
    • output example: PhysMem: 8017M used (1486M wired), 172M unused.
    • memory usage: 172 / (8017+172); unit: %


hard disk usage

  • df command "disk space usage" for Linux Os linux.png df -h
  • du command "estimate file space usage" of specific folder for Linux Os linux.png du --max-depth=1 -B M /path/to/folder/ | sort -g[57]

Scan the disk

help for command

view the documentation for this command

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

find the path of an executable

  • which command for Linux Os linux.png & macOS icon_os_mac.png ex: which wc will return the path '/usr/bin/wc'
  • where command for Win Os windows.png version 2003 or 8. ex: where nslookup will return the path 'C:\Windows\System32\nslookup.EXE'[59] Icon_exclaim.gif not all DOS command will return the information ex: where cd, where dir

emergency exit

  • ctrl+c or ctrl+break (Linux Os linux.png , Win Os windows.png & macOS icon_os_mac.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. wc (Unix) - Wikipedia, the free encyclopedia
  2. Cygwin convert windows path to linux path
  3. Unix / Linux: cat .GZ Compressed Text File On Screen
  4. 鳥哥的 Linux 私房菜 -- 學習 bash shell
  5. Terminal 101: Join Multiple Files Together with Cat
  6. Linux 快速尋找檔案 - locate - Tsung's Blog
  7. 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'
  8. How to find a file in MS-DOS.
  9. /S 顯示指定目錄及所有子目錄中的檔案。 (引用自 dir /? 命令說明)
  10. Linux:檔案複製強制覆寫, cp force overwrite @ 符碼記憶
  11. from manual:
    -a, --archive
                  same as -dR --preserve=all
    -d     same as --no-dereference --preserve=links
    --preserve[=ATTR_LIST]
                  preserve the specified attributes (default: mode,ownership,timestamps), if  possible  addi-
                  tional attributes: context, links, xattr, all
    -R, -r, --recursive
                  copy directories recursively
  12. /Y 不顯示覆寫現存目的檔案的確認提示。 (引用自 copy /? 命令說明)
  13. [OPTION]
    • -r remove directories and their contents recursively;
    • -f ignore nonexistent files, never prompt
    (above content cited from linux documentation: rm --help)
  14. Linux下使用rsync最快速删除海量文件的方法_果冻的剥壳_新浪博客
  15. How to recursively remove .DS_Store files on Mac OS X | Tangential Musings
  16. using the www account su - www -c "svn up http://remote.svn.server/path/ /local/path/ --username=your_account --password=xxx"
  17. A Unix Utility You Should Know About: Pipe Viewer - good coders code, great reuse
  18. linux - How do you gunzip a file and keep the .gz file? - Super User
  19. 鳥哥的 Linux 私房菜 -- Linux 的檔案權限與目錄配置
  20. [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
  21. linux - Making ls output like dir /b /s - Super User
  22. How to create ls in windows command prompt? - Stack Overflow
  23. How to see hidden files in MS-DOS and the Command Prompt
  24. Bash Shell: Display All Hidden Dot Files In a Directory
  25. Linux Rename Files, Folders or Directories
  26. MS-DOS ren and rename command help
  27. Windows equivilent to UNIX pwd - Stack Overflow
  28. linux - Where is the $HOME environment variable set? - Super User
  29. weka - Where is my home directory located?
  30. 鳥哥的 Linux 私房菜 -- Linux 常用網路指令介紹
  31. bash: ifconfig: command not found 無法使用ifconfig指令? 先加上 su -l指令
  32. Red Hat / CentOS: Check / List Running Services
  33. -i means ignore caseHow to use the grep command, by The Linux Information Project (LINFO)
  34. Linux / UNIX Find Out What Program / Service is Listening on a Specific TCP Port
  35. Netstat
  36. Enabling and disabling services during start up in GNU/Linux | All about Linux
  37. Check which mpm (multi processing module) apache is running | Binary Tides
  38. Linux / Unix pv Command: Monitor Progress of Data Sent Via a Pipe
  39. ivarch.com: Pipe Viewer
  40. 鳥哥的 Linux 私房菜 -- NTP 時間伺服器
  41. DATE (command) - Wikipedia, the free encyclopedia
  42. How can I have `date` output the time from a different timezone? - Unix & Linux Stack Exchange
  43. 鳥哥的 Linux 私房菜 -- 檔案與目錄管理 -- 關於執行檔路徑的變數: $PATH
  44. reboot - Linux Command - Unix Command
  45. Windows原來也有內建好用的關機軟體(Shutdown.exe) | ㊣軟體玩家
  46. The Will Will Web | 如何查詢 Linux 的種類與版本 ( Linux Standard Base )
  47. Find windows OS version from command line
  48. How do I Find Out Linux CPU Utilization? - nixCraft
  49. Show All Running Processes in Linux
  50. 鳥哥的 Linux 私房菜 -- 第十六章、程序管理與 SELinux 初探
  51. Kill Process in Linux or Terminate a Process in UNIX / Linux Systems
  52. 鳥哥的 Linux 私房菜 -- 第十六章、程序管理與 SELinux 初探
  53. logical operators in grep
  54. Unix/Linux grep command examples | grep command in Unix and Linux | grep examples | alvinalexander.com
  55. Microsoft Windows XP - Find
  56. Collect Memory Data from WMI (Win32)
  57. 【系統】使用 du 來看磁碟的使用空間 @ My Life :: 隨意窩 Xuite日誌
  58. Cloud Provider and Dedicated Server Hosting in Dallas, TX
  59. What is Windows' equivalent of the "which" command in Unix? Is there an equivalent PowerShell command? - Super User

further reading

related pages: