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 Mac : 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 content of text file
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 )
- tail - cat line X to line Y on a huge file - Unix & Linux Stack Exchange
- 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 entire content of text file
- vi [options] filename (Linux )
- cat <filename> (Linux )
- type <filename> (Win )
Display the partial content of large text file page by page
- cat <filename> | less (Linux or Cygwin on Win ) Chinese issue[1]
- type <filename> | more (Win ) If the file was encoded in UTF-8, you need to key in chcp 65001 first [2].
Display only certain lines by number
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 [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 & Mac to print the newline count of all files on all subdirectories[4]
- wc -l "$(cygpath -u '<path to file>')" for cygwin on Win ex: wc -l "$(cygpath -u 'c:\Program Files\file.txt')"[5]
Save the console message as text file
Save the Unix manpage as plain text file
- 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 )[6]
Merge multiple plain text files
File operation
Find a file by filename
- locate command (Linux ) ex: locate filename to locate the filename quickly. [8]
- find command (Linux ) ex: sudo find / -iname filename Find the case-insensitive file name Under the path / (root folder) [9]
- dir command (Win ) ex: dir /s filename [10][11] 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 )[12]
- /bin/cp -f to_be_copy.file to_be_overwrote.file (Linux )
Copy old directory to new directory
- cp -a old_dir new_dir/ or cp -a old_dir/ new_dir/ (Linux )[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 ): All files and sub folders under old_dir will copy to the folder new_dir.
- copy /Y old_dir new_dir/ (Win )[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 )[16]
- mv /path/to/old.file /path/to/new.file (Linux )
- mv /path/to/file /path/to/new_folder_name (Linux )
- rename old_folder_name new_folder_name (Win )[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 )[18]
- 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
- 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 )
- rsync --delete-before -a -H -v --progress --stats /path/to/empty/folder/ /path/to/target_folder_will_be_deleted/ (Linux )[19] un-verified
- Using SFTP/FTP to connection to the server and delete selected files. 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.
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 [23]
- more on File transfer methods
File compression and decompression
compress
- pv big.file | gzip > big.file.gz(Linux )[24] keep the original file
- gzip -v big.file(Linux ) NOT keep the original file. File name after compressed: big.file.gz
- How do I Compress a Whole Linux or UNIX Directory? for Linux
decompress
- gunzip -c big.file.gz > big.file(Linux ) keep the gz file[25]
- gzip -d big.file.gz(Linux ) NOT keep the gz file
ref
List directory or files / list directory contents
- ls (Linux ) ls - list directory contents
- ll (Linux ) ll = ls -l
- Print the entire path of files and level-unlimited sub-directories in the current directory. On Win using dir/s/b, and on Linux using find /path/to/files/ -print [29].
- create ls command in Win 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 is dir /a, and on Mac or Linux is ls -a[31][32].
Verify if a file or a directory exists
- On Linux : ls /path/to/file or ls -d /path/to/directory/ e.g. ls -d ~/ to list your home directory[33].
- On Win :
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 : pwd print name of working directory. More on pwd.
- Win : cd or echo %cd% to print current directory [36]
Change directory to my home directory
- cd ~/ or cd $HOME (Linux ) will switch to my home directory ex: /Users/ACCOUNT[37]
- cd %UserProfile% (Win ) will switch to my home directory ex: C:\Users\ACCOUNT more on MS_Windows_Explorer[38]
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)
TRACERT (trace route)
apache operation
check apache servie is running or not
- service --status-all | grep -i httpd (Linux [41][42])
- netstat -npl | grep httpd for Linux [43]
- netstat -an | find /i "listening" (Win ) find the local open ports & find local address TCP 0.0.0.0:80 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 & 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 [46]
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[47]; (2) apt-get install pv for Debian / Ubuntu[48];
- Mac
- 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 [49][50]
- TZ=Asia/Taipei date (Linux ) output the time from the Taipei/CST timezone [51]
- date/t (Win ) (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
- echo $PATH (Linux )[52]
- echo %PATH% (Win ) more on How to setup my system path
reboot the system/server
Shutdown system at a specific date time.
- Linux : (1) Enter date to verify the server timezone. (2) Enter sudo shutdown -h 20:02 [55]
- Win : Schedule Shutdown or Restarts in Windows using the Task Scheduler
OS version
Show the process list & kill the process
Show the process list & kill the high-resource-consumption process[58][59]
- display the process list
- top "display Linux tasks" for Linux or
- top -a or ps aux --sort -rss | more[60] "Sort by memory usage" for Linux
- keyin q to leave the process list
- find which process to be killed. And then keyin:
Find process running on port
Search and extract string from command output
- linux command | awk '/string/' (Linux )[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 ) ex: keyin yum list installed | grep tar to search the installed package naming tar for CentOS.[65]
- Windows command | find "string" (Win ) ex: netstat -a | find "3306" (note: enclose string in double quotation marks)[66]
System CPU 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 & Mac :
- PHP function sys_getloadavg() unit: %; Need to divid by CPU cores number
System memory usage
Memory usage
- Win :
- 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: %
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 (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 df -h
- du command "estimate file space usage" of specific folder for Linux
- 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 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
- GUI: How to Perform Scandisk in Windows Win
- Command: shutdown -rF now Force fsck when rebooting a Linux server (Linux )[70]
Switch the user account
switch the current user
- su on Linux switch the current user to super user [71]
- su - <user name> on Linux switch the current user to another user
prints the current user
Clean the screen/console
help for command
view the documentation for this command
find the path of an executable
- which command for Linux ex: which wc will return the path '/usr/bin/wc'
- which command or where command for Mac 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'[76] not all DOS command will return the information ex: where cd, where dir. Related page: How to setup my system path
emergency exit
相關新聞聯播
references
- ↑ linux - Show special characters in Unix while using 'less' Command - Stack Overflow un-verified
- ↑ (Solved) Window命令視窗中文亂碼 改編碼方法
- ↑ wc (Unix) - Wikipedia, the free encyclopedia
- ↑ linux - Use wc on all subdirectories to count the sum of lines - Stack Overflow
- ↑ Cygwin convert windows path to linux path
- ↑ Unix / Linux: cat .GZ Compressed Text File On Screen
- ↑ 鳥哥的 Linux 私房菜 -- 學習 bash shell
- ↑ 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
- ↑ unix - How to copy with cp to include hidden files and hidden directories and their contents? - Super User
- ↑ /Y 不顯示覆寫現存目的檔案的確認提示。 (引用自 copy /? 命令說明)
- ↑ Linux Rename Files, Folders or Directories
- ↑ MS-DOS ren and rename command help
- ↑ [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
- ↑ XYZ的筆記本: Linux 使用 rm 刪除檔案,出現 /bin/rm: Argument list too long
- ↑ Linux find command
- ↑ 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
- ↑ How to list top 10 files | Unix Linux Forums | UNIX for Dummies Questions & Answers
- ↑ linux - Making ls output like dir /b /s - Super User
- ↑ How to create ls in windows command prompt? - Stack Overflow
- ↑ How to see hidden files in MS-DOS and the Command Prompt
- ↑ Bash Shell: Display All Hidden Dot Files In a Directory
- ↑ Single linux command to return to home directory
- ↑ How to verify if a file exists in a Windows .BAT file? - Stack Overflow
- ↑ Windows shell string operations (changing backslash to slash) - Stack Overflow
- ↑ Windows equivalent 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) | ㊣軟體玩家
- ↑ How to shutdown Linux at a specific datetime from terminal? - Unix & Linux Stack Exchange
- ↑ 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, kill(1): terminate process - Linux man page
- ↑ 鳥哥的 Linux 私房菜 -- 第十六章、程序管理與 SELinux 初探
- ↑ shell script - How to search and extract string from command output? - Unix & Linux Stack Exchange
- ↑ 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)
- ↑ 【系統】使用 du 來看磁碟的使用空間 @ My Life :: 隨意窩 Xuite日誌
- ↑ du man page
- ↑ Cloud Provider and Dedicated Server Hosting in Dallas, TX
- ↑ Linux su command help and examples
- ↑ Linux whoami command help and examples
- ↑ Whoami
- ↑ Cls
- ↑ Clear! (clear your terminal screen) | Linux.org
- ↑ 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]
- Unix 與 MS-DOS 指令對照表
related pages: