Linux commands
(1) alternative Linux commands to complete the same task, (2) The equivalent or similar commands between Windows and Linux system.
Help for command:- Linux
or macOS
: Type command_name --help or man command_name ; - Win
: 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 )
- vi [options] filename (and press gg) (Linux )
- vim [options] filename (and press gg) (Linux ); Open file and press gg for gVim (Win )
display the last few lines of text file
- tail [options] filename (Linux )
- vi [options] filename (and press G) (Linux )
- vim [options] filename (and press G) (Linux ); Open file and press G for gVim (Win )
- Tail for Win32 GUI interface (Win )
not support Unicode file for v.4.2.6
Display the content of text file
- vi [options] filename (Linux )
- cat filename (Linux )
- tail - cat line X to line Y on a huge file - Unix & Linux Stack Exchange
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
- man man | col -b > man.txt Thanks! 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 )
- vim: (1)vim [options] filename (2)press /keyword (Linux )
- cat & grep: cat /path/to/file | grep keyword (Linux ) keyword is case sensitive
Search text in a compressed text file
- zcat & grep: cat /path/to/compressed_text.gz | grep keyword (Linux )[2]
Merger multiple plain text files
- copy *.txt > bundle.txt or copy file1.txt file2.txt > bundle.txt for Win
- cat *.txt > bundle.txt or cat file1.txt file2.txt > bundle.txt for Linux [4]
file operation
find a file
locate (Linux ) ex: locate filename to locate the filename quickly. [5]
- find (Linux ) ex: find / -iname filename Find the case-insensitive file name Under the path / (root folder) [6]
copy & overwrite file
overwrite file without prompt (confirmation): cp command
- cp -f to_be_copy.file to_be_overwrote.file (Linux )[9]
- /bin/cp -f to_be_copy.file to_be_overwrote.file (Linux )
copy old directory to new directory
- cp -a old_dir new_dir/ (Linux )[10]
- copy /Y old_dir new_dir/ (Win )[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 )[12]
- del Name_of_directory (Win )
- 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 )
quick - rsync --delete-before -a -H -v --progress --stats /path/to/empty/folder/ /path/to/target_folder_will_be_deleted/ (Linux )[13] un-verified
- rsync -avP --delete /path/to/source/ /path/to/target/ (Linux )
- 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 )[16] keep the original file
- gzip -v big.file(Linux ) NOT keep the original file
decompress
- gunzip -c big.file.gz > big.file(Linux ) keep the gz file[17]
- gzip -d big.file.gz(Linux ) NOT keep the gz file
ref
list directory or files / list directory contents
- ls (Linux ) ex: ls -lh List detailed information of files [18] [19]
- ll (Linux ) ll = ls -l
- dir (Win ) ex: dir/s/b is equal to Linux find /path/to/files/ -print [20]
create ls in Win 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 )[22]
- mv /path/to/file /path/to/new_folder_name (Linux )
- rename old_folder_name new_folder_name (Win )[23]
print the current directory / where am i
- Linux : pwd (print working directory)
- Win : echo %cd% (current directory) [24]
change directory to my home directory
- cd ~/ or cd $HOME (Linux ) will switch to my home directory ex: /Users/ACCOUNT[25]
- cd %UserProfile% (Win ) will switch to my home directory ex: C:\Users\ACCOUNT more on MS_Windows_Explorer[26]
network
show ip
ping
You may got no response if the server was disabled the ICMP (Internet Control Message Protocol) response.
whois: search the information of domain (related: Domain Name Register)
- whois domain (Linux or Win : require to install whois for windows)
apache operation
check apache servie is running or not
- service --status-all | grep -i httpd (Linux [29][30])
- netstat -npl | grep httpd for Linux [31]
- netstat -an | find /i "listening" (Win ) 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 & Win ) ex: Linux /usr/local/httpd/bin/httpd -l or Win 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
- Linux : ex: install the Pipe Viewer (pv) package
- How to Enable RPMForge Repository in RHEL/CentOS 7.x/6.x/5.x/4.x
- (1)yum install pv for RHEL / CentOS / SL / Fedora Linux[35]; (2) apt-get install pv for Debian / Ubuntu[36];
- macOS
- install Homebrew "package manager for OS X"
- brew search PACKAGE_NAME ex: brew search wget
- if the package is available. brew install PACKAGE_NAME ex: brew install wget
system operation
show current time
- date (Linux ) output the system date: Thu Oct 25 15:05:10 CST 2012 [37][38]
- TZ=Asia/Taipei date (Linux ) output the time from the Taipei/CST timezone [39]
- date/t (Win ) (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 週二
- related pages: Time server, timestamp in PHP and MySQL syntax
specify the location where Linux or MS-DOS looks when using a command
- echo $PATH (Linux )[40]
- echo %PATH% (Win ) more on How to setup my system path
reboot the system/server
OS version
Show the process list & kill the process
Show the process list & kill the high-resource-consumption process[45][46]
- display the process list
- top "display Linux tasks" for Linux or
- top -a or ps aux --sort -rss | more[47] "Sort by memory usage" for Linux
- keyin q to leave the process list
- find which process to be killed. And then keyin:
Search matched text of command output
- linux command | awk '/string/' (Linux ) ex:
- keyin dpkg --get-selections | awk '/tar/' to search the installed package naming tar for Ubuntu.[50]
- keyin dpkg --get-selections | awk '/zip|unzip/' to search the installed package naming zip or unzip for Ubuntu.
- linux command | grep string (Linux ) ex: keyin yum list installed | grep tar to search the installed package naming tar for CentOS.[51]
- Windows command | find "string" (Win ) ex: netstat -a | find "3306" (note: enclose string in double quotation marks)[52]
system CPU and memory usage
CPU usage / system load average
- Win :
- 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 & macOS
:
- PHP function sys_getloadavg() unit: %; Need to divid by CPU cores number
Memory usage
- Win :
- namespace: ROOT\CIMV2
- WQL query: SELECT FreePhysicalMemory, TotalVisibleMemorySize FROM Win32_OperatingSystem[53]
- output example: 21683460 (UInt64, 64 bit Unsigned Integer) unit: KB
- memory usage = (FreePhysicalMemory * 100) / TotalVisibleMemorySize; unit: %
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
(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
- GUI: How to Perform Scandisk in Windows Win
- Command: shutdown -rF now Force fsck when rebooting a Linux server (Linux )[54]
help for command
view the documentation for this command
find the path of an executable
- which command for Linux & macOS
ex: which wc will return the path '/usr/bin/wc' - where command for Win version 2003 or 8. ex: where nslookup will return the path 'C:\Windows\System32\nslookup.EXE'[55]
not all DOS command will return the information ex: where cd, where dir
emergency exit
references
- ↑ wc (Unix) - Wikipedia, the free encyclopedia
- ↑ Unix / Linux: cat .GZ Compressed Text File On Screen
- ↑ 鳥哥的 Linux 私房菜 -- 學習 bash shell
- ↑ Terminal 101: Join Multiple Files Together with Cat
- ↑ Linux 快速尋找檔案 - locate - Tsung's Blog
- ↑ 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'
- ↑ How to find a file in MS-DOS.
- ↑ /S 顯示指定目錄及所有子目錄中的檔案。 (引用自 dir /? 命令說明)
- ↑ Linux:檔案複製強制覆寫, cp force overwrite @ 符碼記憶
- ↑
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 - ↑ /Y 不顯示覆寫現存目的檔案的確認提示。 (引用自 copy /? 命令說明)
- ↑ [OPTION]
- -r remove directories and their contents recursively;
- -f ignore nonexistent files, never prompt
- ↑ Linux下使用rsync最快速删除海量文件的方法_果冻的剥壳_新浪博客
- ↑ How to recursively remove .DS_Store files on Mac OS X | Tangential Musings
- ↑ using the www account su - www -c "svn up http://remote.svn.server/path/ /local/path/ --username=your_account --password=xxx"
- ↑ A Unix Utility You Should Know About: Pipe Viewer - good coders code, great reuse
- ↑ linux - How do you gunzip a file and keep the .gz file? - Super User
- ↑ 鳥哥的 Linux 私房菜 -- Linux 的檔案權限與目錄配置
- ↑ [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
- ↑ linux - Making ls output like dir /b /s - Super User
- ↑ How to create ls in windows command prompt? - Stack Overflow
- ↑ Linux Rename Files, Folders or Directories
- ↑ MS-DOS ren and rename command help
- ↑ Windows equivilent to UNIX pwd - Stack Overflow
- ↑ linux - Where is the $HOME environment variable set? - Super User
- ↑ weka - Where is my home directory located?
- ↑ 鳥哥的 Linux 私房菜 -- Linux 常用網路指令介紹
- ↑ bash: ifconfig: command not found 無法使用ifconfig指令? 先加上 su -l指令
- ↑ Red Hat / CentOS: Check / List Running Services
- ↑ -i means ignore caseHow to use the grep command, by The Linux Information Project (LINFO)
- ↑ Linux / UNIX Find Out What Program / Service is Listening on a Specific TCP Port
- ↑ Netstat
- ↑ Enabling and disabling services during start up in GNU/Linux | All about Linux
- ↑ Check which mpm (multi processing module) apache is running | Binary Tides
- ↑ Linux / Unix pv Command: Monitor Progress of Data Sent Via a Pipe
- ↑ ivarch.com: Pipe Viewer
- ↑ 鳥哥的 Linux 私房菜 -- NTP 時間伺服器
- ↑ DATE (command) - Wikipedia, the free encyclopedia
- ↑ How can I have `date` output the time from a different timezone? - Unix & Linux Stack Exchange
- ↑ 鳥哥的 Linux 私房菜 -- 檔案與目錄管理 -- 關於執行檔路徑的變數: $PATH
- ↑ reboot - Linux Command - Unix Command
- ↑ Windows原來也有內建好用的關機軟體(Shutdown.exe) | ㊣軟體玩家
- ↑ The Will Will Web | 如何查詢 Linux 的種類與版本 ( Linux Standard Base )
- ↑ Find windows OS version from command line
- ↑ How do I Find Out Linux CPU Utilization? - nixCraft
- ↑ Show All Running Processes in Linux
- ↑ 鳥哥的 Linux 私房菜 -- 第十六章、程序管理與 SELinux 初探
- ↑ Kill Process in Linux or Terminate a Process in UNIX / Linux Systems
- ↑ 鳥哥的 Linux 私房菜 -- 第十六章、程序管理與 SELinux 初探
- ↑ logical operators in grep
- ↑ Unix/Linux grep command examples | grep command in Unix and Linux | grep examples | alvinalexander.com
- ↑ Microsoft Windows XP - Find
- ↑ Collect Memory Data from WMI (Win32)
- ↑ Cloud Provider and Dedicated Server Hosting in Dallas, TX
- ↑ What is Windows' equivalent of the "which" command in Unix? Is there an equivalent PowerShell command? - Super User
further reading
- ÆtherDev - Windows | Linux Equivalent Commands[Last visited: 2012-09-07]
- Windows Command Prompt LS Equivalent Dir [Last visited: 2014-05-27]
related pages: