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

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

Display the entire content of text file

  • vi [options] filename (Linux Os linux.png )
  • cat <filename> (Linux Os linux.png )
  • type <filename> (Win Os windows.png )

Display the partial content of large text file page by page

  • cat <filename> | less (Linux Os linux.png or Cygwin on Win Os windows.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].

Display only certain lines by number

text processing - With the Linux "cat" command, how do I show only certain lines by number - Unix & Linux Stack Exchange

Show certain lines by line number

Show certain lines by line number

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
  • find . -type f -exec cat {} + | wc -l for Linux Os linux.png & Mac Os mac.png to print the newline count of all files on all subdirectories[4]
  • wc -l "$(cygpath -u '<path to file>')" for cygwin on Win Os windows.png ex: wc -l "$(cygpath -u 'c:\Program Files\file.txt')"[5]

Icon exclaim.gif linux - wc -l is NOT counting last of the file if it does not have end of line character - Stack Overflow

Save the console message as text file

Save the Unix manpage as plain text file

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

Search text in files[7]

Merge multiple plain text files

Merge multiple text files into one file

File operation

Find a file by filename

  • Good! 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/ or 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 /path/to/old_folder_name /path/to/new_folder_name (Linux Os linux.png )[16]
  • mv /path/to/old.file /path/to/new.file (Linux Os linux.png )
  • 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! 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
  • Using SFTP/FTP to connection to the server and delete selected files. Icon exclaim.gif It may costs too much time if there are many files or sub folders!

Delete the files which their file name were matched with the naming rule when the number of files is too many.

  • find . -name 'naming_rule' -delete or find . -name 'naming_rule' -type f -delete [20][21][22]

Download file from remote server

  • FTP
  • wget (with progress bar): wget
  • SVN update: svn up http://remote.svn.server/path/ /local/path/ --username=your_account and key in your SVN password [23]
  • more on File transfer methods

File compression and decompression



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


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[26] [27]
    • 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.[28]
  • 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 [29].
  • Good! create ls command in Win Os windows.png command prompt: echo dir %1 > %systemroot%\system32\ls.bat Thanks, hmjd![30]
  • List all files and directories including hidden ones in the current directory. On Win Os windows.png is dir /a, and on Mac Os mac.png or Linux Os linux.png is ls -a[31][32].

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[33].
  • On Win Os windows.png :
    • dir C:\path\to\file or dir C:\path\to\directory\
    • IF EXIST [34][35]
SET a=C:\path\to\file
REM -- If the directory was separated the \ symbol & the path NOT contains space

SET a="C:\path\to\directory contains space\space"
REM -- If the directory was separated the \ symbol & the path contains space

SET a=C:/path/to/file
REM -- If the directory was separated the / symbol, the next command replace / with \ symbol.
SET a=%a:/=\%


SET a = C:\path\to\file
REM -- Correct command: SET a=C:\path\to\file
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 : cd or echo %cd% to print current directory [36]

Change directory to my home directory

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


show ip

  • ifconfig (Linux Os linux.png )[39][40]
  • 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 ) & Mac 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 [41][42])
  • netstat -npl | grep httpd for Linux Os linux.png [43]
  • netstat -an | find /i "listening" (Win Os windows.png ) find the local open ports & find local address TCP is listening[44]
  • more on connection test...

Where is apache installed?[45]

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

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 [49][50]
  • TZ=Asia/Taipei date (Linux Os linux.png ) output the time from the Taipei/CST timezone [51]
  • date/t (Win Os windows.png ) (parameter: /t will not ask you to change the current date)

More on the page Show current time

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

reboot the system/server

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

Shutdown system at a specific date time.

OS version

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

Show the process list & kill the process

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

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

Find process running on port

Find process running on port

Search and extract string from command output

  • linux command | awk '/string/' (Linux Os linux.png )[63] ex:
    • keyin dpkg --get-selections | awk '/tar/' to search the installed package naming tar for Ubuntu.[64]
    • 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.[65]
  • Windows command | find "string" (Win Os windows.png ) ex: netstat -a | find "3306" (note: enclose string in double quotation marks)[66]

System CPU 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 & Mac Os mac.png :

System memory usage

Memory usage

  • Win Os windows.png :
    • namespace: ROOT\CIMV2
    • WQL query: SELECT FreePhysicalMemory, TotalVisibleMemorySize FROM Win32_OperatingSystem[67]
    • 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: %
  • Mac 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: %

System disk space usage

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 -h /path/to/folder/ Detailed output of hard disk usage of specific folder and child folders.
    • du -hcs /path/to/folder/ Brief output of total hard disk usage.
    • du --max-depth=1 -B M /path/to/folder/ | sort -g[68]Output example:
0M      /sys
1M      /tmp
9M      /run
27M     /etc
36M     /root
165M    /boot
1647M   /usr
49287M  /var
51379M  /home
102547M /

How To Find Largest Top 10 Files and Directories On Linux / UNIX / BSD - nixCraft Icon exclaim.gif It may costs time to return the result if there are too many file under the specified path. Output example of du -a -BM /path/to/folder/ | sort -n -r | head -n 10:

# du -a -BM /var/ | sort -n -r | head -n 10
11199M  /var/
10384M  /var/lib
6336M   /var/lib/mysql
3714M   /var/lib/strong-pm
3661M   /var/lib/strong-pm/svc
2042M   /var/lib/strong-pm/svc/1/work
2042M   /var/lib/strong-pm/svc/1
1619M   /var/lib/strong-pm/svc/2/work

Options cited from the content of Linux man page[69]

  • -a, --all "write counts for all files, not just directories"
  • -B, --block-size=SIZE "scale sizes by SIZE before printing them"

Scan the disk

Switch the user account

switch the current user

  • su on Linux Os linux.png switch the current user to super user [71]
  • su - <user name> on Linux Os linux.png switch the current user to another user

prints the current user

  • whoami on Linux Os linux.png & Win Os windows.png "prints the effective user ID"[72][73]

Clean the screen/console

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 ex: which wc will return the path '/usr/bin/wc'
  • which command or where command for Mac 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'[76] Icon exclaim.gif not all DOS command will return the information ex: where cd, where dir. Related page: How to setup my system path

emergency exit

  • ctrl+c or ctrl+break (Linux Os linux.png , Win Os windows.png & Mac 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".


Linux OR unix 相關新聞聯播
Microsoft 下月將推出 Linux 版 Edge 瀏覽器 - UNWIRE.PRO
Google解釋GKE因採用gVisor,不受Linux核心漏洞CVE-2020-14386影響 - iThome Online
Lemon_Duck挖礦程式蔓延到Linux平臺 - iThome Online
UNIX推Type-C造型器 讓整個城市都是美髮沙龍舞台 - 經濟日報
擴大混合雲布局,VMware VDI強化視訊會議與Linux支援 - iThome Online
Linux基金會成立氣候金融基金會,以解決氣候變遷帶來的金融挑戰 - iThome Online
免插電即可使用UNIX TK4推五款隨身美髮神器 - 台灣蘋果日報
Kali Linux 2020.3釋出,官方預告準備更換預設殼層 - iThome Online
硬科技:從Linux大神的抱怨瞧瞧Intel是不是真的做錯了(上) - Cool3c 癮科技
云安全日报200924:Linux内核发现最高系统特权升级漏洞,需要尽快升级 - 新浪网
停摆一年后,Linux Journal宣布再次归来- Linux - cnBeta
麒麟软件与中望CAD完成兼容互认证 - 新浪网
Edge for Linux开发者预览将至WSL子系统可运行带GUI的Linux应用程序- Microsoft Edge - cnBeta
联想ThinkPad和ThinkStation产品进一步拥抱Ubuntu Linux - Lenovo ThinkPad / Think 家族 - cnBeta
麒麟OS宣布兼容中望CAD:国内第一款Linux版自主CAD软件- Linux - cnBeta
[图]Linux基金会推IT助理认证:发掘更多有潜质的IT人才- Linux - cnBeta
Linux 迎来29 岁:从个人爱好到统治世界的操作系统- Linux - cnBeta
微软的Edge浏览器将于10月在Linux上开始技术预览- Microsoft Edge - cnBeta
Linux 5.8成為有史以來最大更新版本 - iThome Online
核心維護者都五六十歲了!Linux 之父感嘆:社群後繼無人| TechOrange - TechOrange 科技報橘
硬科技:從Linux大神的抱怨瞧瞧Intel是不是真的做錯了(下) - Cool3c 癮科技
鎖定Windows平臺的惡意程式TrickBot開始攻擊Linux裝置 - iThome Online
千呼萬喚始出來!1Password也有Linux版本了 - iThome Online
[图]Linux 5.10将为联想笔记本带来热键支持等优化- Linux - cnBeta
Windows 10 變身開發者利器:內建Linux 核心,像安裝驅動程式一樣方便 - 科技新報 TechNews
【臺灣資安大會直擊】如何做好Linux物聯網裝置資安?專家呼籲要從慎選核心開始 - iThome Online
Linux基金會發表兩個基於Google/蘋果API的開源疫情追蹤程式 - iThome Online
【微軟與Linux 的愛恨情仇】微軟坦承:當年對開源的態度錯了| TechOrange - TechOrange 科技報橘
Visual Studio對基於MSBuild的Linux專案支援Ninja增量建置 - iThome Online
Linux之父換電腦15年來首次更換為非Intel平台程式設計速度快了三倍 - XFastest News
Visual Studio 2019將支援Ninja,顯著提升Linux專案建置效率 - iThome Online
微软提交了一个内核补丁以构建完整的Linux Hyper-V虚拟化支持体系- Microsoft 微软 - cnBeta

Powered by Google News


  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. linux - Use wc on all subdirectories to count the sum of lines - Stack Overflow
  5. Cygwin convert windows path to linux path
  6. Unix / Linux: cat .GZ Compressed Text File On Screen
  7. 鳥哥的 Linux 私房菜 -- 學習 bash shell
  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 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. XYZ的筆記本: Linux 使用 rm 刪除檔案,出現 /bin/rm: Argument list too long
  22. Linux find command
  23. using the www account su - www -c "svn up http://remote.svn.server/path/ /local/path/ --username=your_account --password=xxx"
  24. A Unix Utility You Should Know About: Pipe Viewer - good coders code, great reuse
  25. linux - How do you gunzip a file and keep the .gz file? - Super User
  26. 鳥哥的 Linux 私房菜 -- Linux 的檔案權限與目錄配置
  27. [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
  28. How to list top 10 files | Unix Linux Forums | UNIX for Dummies Questions & Answers
  29. linux - Making ls output like dir /b /s - Super User
  30. How to create ls in windows command prompt? - Stack Overflow
  31. How to see hidden files in MS-DOS and the Command Prompt
  32. Bash Shell: Display All Hidden Dot Files In a Directory
  33. Single linux command to return to home directory
  34. How to verify if a file exists in a Windows .BAT file? - Stack Overflow
  35. Windows shell string operations (changing backslash to slash) - Stack Overflow
  36. Windows equivalent to UNIX pwd - Stack Overflow
  37. linux - Where is the $HOME environment variable set? - Super User
  38. weka - Where is my home directory located?
  39. 鳥哥的 Linux 私房菜 -- Linux 常用網路指令介紹
  40. bash: ifconfig: command not found 無法使用ifconfig指令? 先加上 su -l指令
  41. Red Hat / CentOS: Check / List Running Services
  42. -i means ignore caseHow to use the grep command, by The Linux Information Project (LINFO)
  43. Linux / UNIX Find Out What Program / Service is Listening on a Specific TCP Port
  44. Netstat
  45. Enabling and disabling services during start up in GNU/Linux | All about Linux
  46. Check which mpm (multi processing module) apache is running | Binary Tides
  47. Linux / Unix pv Command: Monitor Progress of Data Sent Via a Pipe
  48. Pipe Viewer
  49. 鳥哥的 Linux 私房菜 -- NTP 時間伺服器
  50. DATE (command) - Wikipedia, the free encyclopedia
  51. How can I have `date` output the time from a different timezone? - Unix & Linux Stack Exchange
  52. 鳥哥的 Linux 私房菜 -- 檔案與目錄管理 -- 關於執行檔路徑的變數: $PATH
  53. reboot - Linux Command - Unix Command
  54. Windows原來也有內建好用的關機軟體(Shutdown.exe) | ㊣軟體玩家
  55. How to shutdown Linux at a specific datetime from terminal? - Unix & Linux Stack Exchange
  56. The Will Will Web | 如何查詢 Linux 的種類與版本 ( Linux Standard Base )
  57. Find windows OS version from command line
  58. How do I Find Out Linux CPU Utilization? - nixCraft
  59. Show All Running Processes in Linux
  60. 鳥哥的 Linux 私房菜 -- 第十六章、程序管理與 SELinux 初探
  61. Kill Process in Linux or Terminate a Process in UNIX / Linux Systems, kill(1): terminate process - Linux man page
  62. 鳥哥的 Linux 私房菜 -- 第十六章、程序管理與 SELinux 初探
  63. shell script - How to search and extract string from command output? - Unix & Linux Stack Exchange
  64. logical operators in grep
  65. Unix/Linux grep command examples | grep command in Unix and Linux | grep examples |
  66. Microsoft Windows XP - Find
  67. Collect Memory Data from WMI (Win32)
  68. 【系統】使用 du 來看磁碟的使用空間 @ My Life :: 隨意窩 Xuite日誌
  69. du man page
  70. Cloud Provider and Dedicated Server Hosting in Dallas, TX
  71. Linux su command help and examples
  72. Linux whoami command help and examples
  73. Whoami
  74. Cls
  75. Clear! (clear your terminal screen) |
  76. What is Windows' equivalent of the "which" command in Unix? Is there an equivalent PowerShell command? - Super User

further reading

related pages: