Jason Pan

Linux 常用指令[测验版]

潘忠显 / 2020-08-03


1 – SYSTEM INFORMATION #

Display Linux system information #

uname -a

Display kernel release information #

uname -r

Show which version of redhat installed #

cat /etc/redhat-release

Show how long the system has been running + load #

uptime

Show system host name #

hostname

Display the IP addresses of the host #

hostname -I

Show system reboot history #

last reboot

Show the current date and time #

date

Show this month’s calendar #

cal

Display who is online #

w

Who you are logged in as #

whoami

2 – HARDWARE INFORMATION #

Display messages in kernel ring buffer #

dmesg

Display CPU information #

cat /proc/cpuinfo

Display memory information #

cat /proc/meminfo

Display free and used memory ( -h for human readable, -m for MB, -g for GB.) #

free -h

Display PCI devices #

lspci -tv

Display USB devices #

lsusb -tv

Display DMI/SMBIOS (hardware info) from the BIOS #

dmidecode

Show info about disk sda #

hdparm -i /dev/sda

Perform a read speed test on disk sda #

hdparm -tT /dev/sda

Test for unreadable blocks on disk sda #

badblocks -s /dev/sda

3 – PERFORMANCE MONITORING AND STATISTICS #

Display and manage the top processes #

top

Interactive process viewer (top alternative) #

htop
mpstat 1

Display virtual memory statistics #

vmstat 1

Display I/O statistics #

iostat 1

Display the last 100 syslog messages (Use /var/log/syslog for Debian based systems.) #

tail 100 /var/log/messages

Capture and display all packets on interface eth0 #

tcpdump -i eth0

Monitor all traffic on port 80 ( HTTP ) #

tcpdump -i eth0 'port 80'

List all open files on the system #

lsof

List files opened by user #

lsof -u user

Display free and used memory ( -h for human readable, -m for MB, -g for GB.) #

free -h

Execute “df -h”, showing periodic updates #

watch df -h

4 – USER INFORMATION AND MANAGEMENT #

Display the user and group ids of your current user. #

id

Display the last users who have logged onto the system. #

last

Show who is logged into the system. #

who

Show who is logged in and what they are doing. #

w

Create a group named “test”. #

groupadd test

Create an account named john, with a comment of “John Smith” and create the user’s home directory. #

useradd -c "John Smith" -m john

Delete the john account. #

userdel john

Add the john account to the sales group #

usermod -aG sales john

5 – FILE AND DIRECTORY COMMANDS #

List all files in a long listing (detailed) format #

ls -al

Display the present working directory #

pwd

Create a directory #

mkdir directory

Remove (delete) file #

rm file

Remove the directory and its contents recursively #

rm -r directory

Force removal of file without prompting for confirmation #

rm -f file

Forcefully remove directory recursively #

rm -rf directory

Copy file1 to file2 #

cp file1 file2

Copy source_directory recursively to destination. If destination exists, copy source_directory into destination, otherwise create destination with the contents of source_directory. #

cp -r source_directory destination

Rename or move file1 to file2. If file2 is an existing directory, move file1 into directory file2 #

mv file1 file2
ln -s /path/to/file linkname

Create an empty file or update the access and modification times of file. #

touch file

View the contents of file #

cat file

Browse through a text file #

less file

Display the first 10 lines of file #

head file

Display the last 10 lines of file #

tail file

Display the last 10 lines of file and “follow” the file as it grows. #

tail -f file

6 – PROCESS MANAGEMENT #

Display your currently running processes #

ps

Display all the currently running processes on the system. #

ps -ef

Display process information for processname #

ps -ef | grep processname

Display and manage the top processes #

top

Interactive process viewer (top alternative) #

htop

Kill process with process ID of pid #

kill pid

Kill all processes named processname #

killall processname

Start program in the background #

program &

Display stopped or background jobs #

bg

Brings the most recent background job to foreground #

fg

Brings job n to the foreground #

fg n

7 – FILE PERMISSIONS #

Linux chmod example

#        PERMISSION      EXAMPLE
#
#         U   G   W
#        rwx rwx rwx     chmod 777 filename
#        rwx rwx r-x     chmod 775 filename
#        rwx r-x r-x     chmod 755 filename
#        rw- rw- r--     chmod 664 filename
#        rw- r-- r--     chmod 644 filename

# NOTE: Use 777 sparingly!

#         LEGEND
#         U = User
#         G = Group
#         W = World

#         r = Read
#         w = write
#         x = execute
#         - = no access

8 – NETWORKING #

Display all network interfaces and ip address #

ifconfig -a

Display eth0 address and details #

ifconfig eth0

Query or control network driver and hardware settings #

ethtool eth0

Send ICMP echo request to host #

ping host

Display whois information for domain #

whois domain

Display DNS information for domain #

dig domain

Reverse lookup of IP_ADDRESS #

dig -x IP_ADDRESS

Display DNS ip address for domain #

host domain

Display the network address of the host name. #

hostname -i

Display all local ip addresses #

hostname -I

Download http://domain.com/file #

wget http://domain.com/file

Display listening tcp and udp ports and corresponding programs #

netstat -nutlp

9 – ARCHIVES (TAR FILES) #

Create tar named archive.tar containing directory. #

tar cf archive.tar directory

Extract the contents from archive.tar. #

tar xf archive.tar

Create a gzip compressed tar file name archive.tar.gz. #

tar czf archive.tar.gz directory

Extract a gzip compressed tar file. #

tar xzf archive.tar.gz

Create a tar file with bzip2 compression #

tar cjf archive.tar.bz2 directory

Extract a bzip2 compressed tar file. #

tar xjf archive.tar.bz2

10 – INSTALLING PACKAGES #

Search for a package by keyword. #

yum search keyword

Install package. #

yum install package

Display description and summary information about package. #

yum info package

Install package from local file named package.rpm #

rpm -i package.rpm

Remove/uninstall package. #

yum remove package

Install software from source code. #

tar zxvf sourcecode.tar.gz

cd sourcecode ./configure make make install

Search for pattern in file #

grep pattern file

Search recursively for pattern in directory #

grep -r pattern directory

Find files and directories by name #

locate name

Find files in /home/john that start with “prefix”. #

find /home/john -name 'prefix*'

Find files larger than 100MB in /home #

find /home -size +100M

12 – SSH LOGINS #

Connect to host as your local username. #

ssh host

Connect to host as user #

ssh user@host

Connect to host using port #

ssh -p port user@host

13 – FILE TRANSFERS #

Secure copy file.txt to the /tmp folder on server #

scp file.txt server:/tmp

Copy *.html files from server to the local /tmp folder. #

scp server:/var/www/*.html /tmp

Copy all files and directories recursively from server to the current system’s /tmp folder. #

scp -r server:/var/www /tmp

Synchronize /home to /backups/home #

rsync -a /home /backups/

Synchronize files/directories between the local and remote system with compression enabled #

rsync -avz /home server:/backups/

14 – DISK USAGE #

Show free and used space on mounted filesystems #

df -h

Show free and used inodes on mounted filesystems #

df -i

Display disks partitions sizes and types #

fdisk -l

Display disk usage for all files and directories in human readable format #

du -ah

Display total disk usage off the current directory #

du -sh

15 – DIRECTORY NAVIGATION #

To go up one level of the directory tree. (Change into the parent directory.) #

cd ..

Go to the $HOME directory #

cd

Change to the /etc directory #

cd /etc