Linux commands: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
Line 20: Line 20:
Display the content of text file
Display the content of text file
* [http://en.wikipedia.org/wiki/Vi vi] <nowiki>[options]</nowiki> ''filename''  ({{Linux}})
* [http://en.wikipedia.org/wiki/Vi vi] <nowiki>[options]</nowiki> ''filename''  ({{Linux}})
* {{kbd | key=cat ''filename''}}  ({{Linux}})
* {{kbd | key=<nowiki>cat <filename></nowiki>}}  ({{Linux}})
* {{kbd | key=type ''filename''}}  ({{Win}})
* {{kbd | key=<nowiki>type <filename></nowiki>}}  ({{Win}})
* [http://unix.stackexchange.com/questions/47407/cat-line-x-to-line-y-on-a-huge-file tail - cat line X to line Y on a huge file - Unix & Linux Stack Exchange]
* [http://unix.stackexchange.com/questions/47407/cat-line-x-to-line-y-on-a-huge-file tail - cat line X to line Y on a huge file - Unix & Linux Stack Exchange]


Display the partial content of large text file
Display the partial content of large text file
* {{kbd | key=cat ''filename'' | less}}  ({{Linux}}) {{exclaim}} Chinese issue<ref>[https://stackoverflow.com/questions/6943928/show-special-characters-in-unix-while-using-less-command linux - Show special characters in Unix while using 'less' Command - Stack Overflow] ''un-verified''</ref>
* {{kbd | key=<nowiki>cat <filename> | less</nowiki>}}  ({{Linux}}) {{exclaim}} Chinese issue<ref>[https://stackoverflow.com/questions/6943928/show-special-characters-in-unix-while-using-less-command linux - Show special characters in Unix while using 'less' Command - Stack Overflow] ''un-verified''</ref>
* {{kbd | key=type ''filename'' | more}}  ({{Win}}) If the file was encoded in UTF-8, you need to key in {{kbd | key=chcp 65001}} first <ref>[http://fatting10.blogspot.tw/2015/08/solved-window.html [Solved] Window命令視窗中文亂碼 改編碼方法]</ref>.
* {{kbd | key=<nowiki>type <filename> | more</nowiki>}}  ({{Win}}) If the file was encoded in UTF-8, you need to key in {{kbd | key=chcp 65001}} first <ref>[http://fatting10.blogspot.tw/2015/08/solved-window.html [Solved] Window命令視窗中文亂碼 改編碼方法]</ref>.


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

Revision as of 11:11, 24 November 2017

(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

Display the partial content of large text file

  • cat <filename> | less (Linux Os linux.png ) Icon_exclaim.gif Chinese issue[1]
  • type <filename> | more (Win Os windows.png ) If the file was encoded in UTF-8, you need to key in chcp 65001 first [2].

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

  • wc -l <filename> for Linux Os linux.png [3] 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')"[4]

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

Search text in files[6]

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

file operation

Find a file by filename

  • Good.gif locate command (Linux Os linux.png ) ex: locate filename to locate the filename quickly. [8]
  • find command (Linux Os linux.png ) ex: sudo find / -iname filename Find the case-insensitive file name Under the path / (root folder) [9]
  • dir command (Win Os windows.png ) ex: dir /s filename [10][11] 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 )[12]
  • /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 )[13][14]
    • If the folder new_dir exists already, system will create the folder old_dir and all files and sub folders under old_dir will copy to the path new_dir/old_dir.
    • If the folder new_dir NOT exists, all files and sub folders under old_dir will copy to the folder new_dir.
  • cp -a old_dir/* new_dir/ (Linux Os linux.png ): All files and sub folders under old_dir will copy to the folder new_dir.
  • copy /Y old_dir new_dir/ (Win Os windows.png )[15]
  • make new directory & copy all old files to new directory
    • mkdir new_dir
    • cp old_dir/* new_dir
  • How to move all files in current folder to subfolder? - Ask Ubuntu

Rename (move) files or directory

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

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 )[18]
  • 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 )[19] 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 [20]

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 [21]
  • 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[23]
  • 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 ) ls - list directory contents
    • List detailed information of files. e.g. ls -lh[24] [25]
    • List detailed information of files and sort by modification time. ls -lht
    • List top N files and sort by modification time. ls -lht | head -N e.g. ls -lht | head -10 First line is the total file size of specified folder.[26]
  • 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 [27].
  • Good.gif create ls command in Win Os windows.png command prompt: echo dir %1 > %systemroot%\system32\ls.bat Thanks, hmjd![28]
  • 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[29][30].

Verify if a file or a directory exists

  • On Linux Os linux.png : ls /path/to/file or ls -d /path/to/directory/ e.g. ls -d ~/ to list your home directory[31].
  • On Win Os windows.png :
    • dir C:\path\to\file or dir C:\path\to\directory\
    • IF EXIST [32][33]
SET a=C:\path\to\file
REM -- If the directory was separated the \ symbol & the path NOT contains space
IF EXIST %a% (ECHO YES) ELSE (ECHO No)

SET a="C:\path\to\directory contains space\space"
REM -- If the directory was separated the \ symbol & the path contains space
IF EXIST %a% (ECHO YES) ELSE (ECHO No)

SET a=C:/path/to/file
REM -- If the directory was separated the / symbol, the next command replace / with \ symbol.
SET a=%a:/=\%
IF EXIST %a% (ECHO YES) ELSE (ECHO No)

troubleshooting

SET a = C:\path\to\file
REM -- Correct command: SET a=C:\path\to\file
IF EXIST %a% (ECHO YES) ELSE (ECHO No)
REM -- the returned result will not correct!

Print the current directory / where am i

  • Linux Os linux.png : pwd print name of working directory. More on pwd.
  • Win Os windows.png : echo %cd% current directory [34]

Change directory to my home directory

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

network

show ip

  • ifconfig (Linux Os linux.png )[37][38]
  • 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)

TRACERT (trace route)

  • traceroute domain_or_ip (Linux Os linux.png ) & macOS icon_os_mac.png
  • tracert domain_or_ip -t (Win Os windows.png )

apache operation

check apache servie is running or not

  • service --status-all | grep -i httpd (Linux Os linux.png [39][40])
  • netstat -npl | grep httpd for Linux Os linux.png [41]
  • 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[42]
  • more on connection test...

Where is apache installed?[43]

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

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 [47][48]
  • TZ=Asia/Taipei date (Linux Os linux.png ) output the time from the Taipei/CST timezone [49]
  • 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, 10): 2014/07/01 週二
  • prompt $d $t $_$P$G (Win Os windows.png [50])
output:
OS in Chinese (Windows 10): 2017/02/03 週五 15:35:31.61

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

reboot the system/server

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

Shutdown system at a specific date time.

OS version

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


Show the process list & kill the process

Show the process list & kill the high-resource-consumption process[57][58]

  1. display the process list
    • top "display Linux tasks" for Linux Os linux.png or
    • top -a or ps aux --sort -rss | more[59] "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 <PID> or kill -<PID> PID. To kill the process with PID number: 101, enter kill 101. [60]
    • kill -9 <PID>. Force to kill the process with PID number: 101, enter kill -9 101. [61]

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


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[65]
    • 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[66]Output example:
0M      /sys
1M      /tmp
9M      /run
27M     /etc
36M     /root
165M    /boot
1647M   /usr
49287M  /var
51379M  /home
102547M /

Scan the disk

Clean the screen/console

  • Win Os windows.png : cls [68]
  • Linux Os linux.png & macOS icon_os_mac.png : clear [69]

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

further reading

related pages: