Linux commands

From LemonWiki共筆
Jump to navigation Jump to search

(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 full text file

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

newline count, word count

  • newline count: wc -l <filename> [1] ex: wc -l *.txt to print the newline count of txt files of the current folder

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 )[2]

Search text in files[3]

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 [4]

file operation

find a file

  • Good.gif locate (Linux Os linux.png ) ex: locate filename to locate the filename quickly. [5]
  • find (Linux Os linux.png ) ex: find / -iname filename Find the case-insensitive file name Under the path / (root folder) [6]
  • dir (Win Os windows.png ) ex: dir /s filename [7][8] 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 )[9]
  • /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 )[10]
  • copy /Y old_dir new_dir/ (Win Os windows.png )[11]
  • 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 )[12]
  • 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
    • rsync -avP --delete /path/to/source/ /path/to/target/ (Linux Os linux.png ) Good.gif quick
    • rsync --delete-before -a -H -v --progress --stats /path/to/empty/folder/ /path/to/target_folder_will_be_deleted/ (Linux Os linux.png )[13] 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 [14]

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 [15]
  • more on File transfer methods


file compression and decompression

compress

  • pv big.file | gzip > big.file.gz(Linux Os linux.png )[16] keep the original file
  • gzip -v big.file(Linux Os linux.png ) NOT keep the original file

decompress

  • gunzip -c big.file.gz > big.file(Linux Os linux.png ) keep the gz file[17]
  • 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 [18] [19]
  • ll (Linux Os linux.png ) ll = ls -l
  • dir (Win Os windows.png ) ex: dir/s/b is equal to Linux Os linux.png find /path/to/files/ -print [20]
  • Good.gif create ls in Win Os windows.png command prompt: echo dir %1 > %systemroot%\system32\ls.bat Thanks, hmjd![21]


rename (move) files or directory

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


print the current directory / where am i

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

change directory to my home directory

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

network

show ip

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

Where is apache installed?[33]

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

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 [37][38]
  • TZ=Asia/Taipei date (Linux Os linux.png ) output the time from the Taipei/CST timezone [39]
  • 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 )[41]
  • shutdown -r (Win Os windows.png )[42]

OS version

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


Show the process list & kill the process

Show the process list & kill the high-resource-consumption process[45][46]

  1. top "display Linux tasks" for Linux Os linux.png or top -a "Sort by memory usage" for Linux Os linux.png
  2. keyin q to leave the process list
  3. find which process to be killed. Keyin: kill -101 PID to kill the process with PID number: 101[47]

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.[48]
    • 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.[49]
  • Windows command | find "string" (Win Os windows.png ) ex: netstat -a | find "3306" (note: enclose string in double quotation marks)[50]


system CPU and memory 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[51]
    • 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: %

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

further reading

related pages: