baicai

白菜

一个勤奋的代码搬运工!

Linux Commands

Basic Commands#

uname -m Display the machine's processor architecture
uname -r Display the currently used kernel version
dmidecode -q Display hardware system components
(SMBIOS / DMI) hdparm -i /dev/hda List the architectural features of a disk
hdparm -tT /dev/sda Perform test read operations on the disk
arch Display the machine's processor architecture
uname -m Display the machine's processor architecture
uname -r Display the currently used kernel version
dmidecode -q Display hardware system components - (SMBIOS / DMI)
hdparm -i /dev/hda List the architectural features of a disk
hdparm -tT /dev/sda Perform test read operations on the disk
cat /proc/cpuinfo Display CPU info
cat /proc/interrupts Display interrupts
cat /proc/meminfo Check memory usage
cat /proc/swaps Show which swaps are being used
cat /proc/version Display the kernel version
cat /proc/net/dev Display network adapters and statistics
cat /proc/mounts Display loaded file systems
lspci -tv List PCI devices
lsusb -tv Display USB devices
date Display the system date
cal 2007 Display the calendar for the year 2007
date 041217002007.00 Set date and time - month day hour minute year.second
clock -w Save the time modification to BIOS

Shutdown#

shutdown -h now Shut down the system (1)
init 0 Shut down the system (2)
telinit 0 Shut down the system (3)
shutdown -h hours:minutes & Shut down the system at a scheduled time
shutdown -c Cancel the scheduled shutdown
shutdown -r now Restart (1)
reboot Restart (2)
logout Log out

Files and Directories#

cd /home Enter the '/home' directory
cd .. Return to the parent directory
cd ../.. Return to the grandparent directory
cd Enter the user's home directory
cd ~user1 Enter the home directory of user1
cd - Return to the last directory
pwd Display the working path
ls View files in the directory
ls -F View files in the directory
ls -l Display detailed information about files and directories
ls -a Display hidden files
ls *[0-9]* Display file and directory names that contain numbers
tree Display a tree structure of files and directories starting from the root directory (1)
lstree Display a tree structure of files and directories starting from the root directory (2)
mkdir dir1 Create a directory named 'dir1'
mkdir dir1 dir2 Create two directories at once
mkdir -p /tmp/dir1/dir2 Create a directory tree
rm -f file1 Delete a file named 'file1'
rmdir dir1 Delete a directory named 'dir1'
rm -rf dir1 Delete a directory named 'dir1' and its contents
rm -rf dir1 dir2 Delete two directories and their contents at once
mv dir1 new_dir Rename/move a directory
cp file1 file2 Copy a file
cp dir/* . Copy all files from a directory to the current working directory
cp -a /tmp/dir1 . Copy a directory to the current working directory
cp -a dir1 dir2 Copy a directory
ln -s file1 lnk1 Create a symbolic link to a file or directory
ln file1 lnk1 Create a hard link to a file or directory
touch -t 0712250000 file1 Modify the timestamp of a file or directory - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l List known encodings
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new file from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)
find / -name file1 Start searching for files and directories from the root file system
find / -user user1 Search for files and directories owned by user 'user1'
find /home/user1 -name \*.bin Search for files ending with '.bin' in the '/home/user1' directory
find /usr/bin -type f -atime +100 Search for executable files that have not been used in the last 100 days
find /usr/bin -type f -mtime -10 Search for files created or modified in the last 10 days
find / -name \*.rpm -exec chmod 755 '{}' \; Search for files ending with '.rpm' and set their permissions
find / -xdev -name \*.rpm Search for files ending with '.rpm', ignoring removable devices like CD-ROMs and USB drives
locate \*.ps Find files ending with '.ps' - first run the 'updatedb' command
whereis halt Show the location of a binary file, source code, or man page
which halt Show the full path of a binary file or executable

Mounting a File System#

mount /dev/hda2 /mnt/hda2 Mount a disk named hda2 - ensure the directory '/mnt/hda2' exists
umount /dev/hda2 Unmount a disk named hda2 - first exit from the mount point '/mnt/hda2'
fuser -km /mnt/hda2 Force unmount when the device is busy
umount -n /mnt/hda2 Run the unmount operation without writing to /etc/mtab - very useful when the file is read-only or when the disk is full
mount /dev/fd0 /mnt/floppy Mount a floppy disk
mount /dev/cdrom /mnt/cdrom Mount a CD-ROM or DVD-ROM
mount /dev/hdc /mnt/cdrecorder Mount a CD-RW or DVD-ROM
mount /dev/hdb /mnt/cdrecorder Mount a CD-RW or DVD-ROM
mount -o loop file.iso /mnt/cdrom Mount a file or ISO image file
mount -t vfat /dev/hda5 /mnt/hda5 Mount a Windows FAT32 file system
mount /dev/sda1 /mnt/usbdisk Mount a USB flash drive or memory device
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share Mount a Windows network share

Disk Space#

df -h Display a list of mounted partitions
ls -lSr |more Display files and directories sorted by size
du -sh dir1 Estimate the disk space used by directory 'dir1'
du -sk * | sort -rn Display the size of files and directories in descending order
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n Display the space used by installed RPM packages sorted by size (for Fedora, Red Hat systems)
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n Display the space used by installed DEB packages sorted by size (for Ubuntu, Debian systems)

Users and Groups#

groupadd group_name Create a new user group
groupdel group_name Delete a user group
groupmod -n new_group_name old_group_name Rename a user group
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 Create a user belonging to the "admin" user group
useradd user1 Create a new user
userdel -r user1 Delete a user ('-r' excludes the home directory)
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 Modify user attributes
passwd Change password
passwd user1 Change a user's password (only allowed for root)
chage -E 2005-12-31 user1 Set the expiration date for a user's password
pwck Check the format and syntax of the '/etc/passwd' file and existing users
grpck Check the format and syntax of the '/etc/passwd' file and existing groups
newgrp group_name Log into a new group to change the default group for newly created files

File Permissions, use "+" to set permissions, use "-" to remove#

chattr +a file1 Allow only append mode read/write for the file
chattr +c file1 Allow this file to be automatically compressed/decompressed by the kernel
chattr +d file1 Ignore this file during file system backups by the dump program
chattr +i file1 Set the file to be immutable, cannot be deleted, modified, renamed, or linked
chattr +s file1 Allow a file to be securely deleted
chattr +S file1 Once an application writes to this file, the system immediately writes the changes to disk
chattr +u file1 If the file is deleted, the system will allow you to recover the deleted file later
lsattr Display special attributes

Special File Attributes, use "+" to set permissions, use "-" to remove#

chattr +a file1 Allow only append mode read/write for the file
chattr +c file1 Allow this file to be automatically compressed/decompressed by the kernel
chattr +d file1 Ignore this file during file system backups by the dump program
chattr +i file1 Set the file to be immutable, cannot be deleted, modified, renamed, or linked
chattr +s file1 Allow a file to be securely deleted
chattr +S file1 Once an application writes to this file, the system immediately writes the changes to disk
chattr +u file1 If the file is deleted, the system will allow you to recover the deleted file later
lsattr Display special attributes

Packing and Compressing Files#

bunzip2 file1.bz2 Decompress a file named 'file1.bz2'
bzip2 file1 Compress a file named 'file1'
gunzip file1.gz Decompress a file named 'file1.gz'
gzip file1 Compress a file named 'file1'
gzip -9 file1 Maximum compression
rar a file1.rar test_file Create a package named 'file1.rar'
rar a file1.rar file1 file2 dir1 Compress 'file1', 'file2', and directory 'dir1' at once
rar x file1.rar Decompress a rar package
unrar x file1.rar Decompress a rar package
tar -cvf archive.tar file1 Create an uncompressed tarball
tar -cvf archive.tar file1 file2 dir1 Create an archive file containing 'file1', 'file2', and 'dir1'
tar -tf archive.tar Display the contents of a package
tar -xvf archive.tar Extract a package
tar -xvf archive.tar -C /tmp Extract the compressed package to the /tmp directory
tar -cvfj archive.tar.bz2 dir1 Create a bzip2 format compressed package
tar -xvfj archive.tar.bz2 Decompress a bzip2 format compressed package
tar -cvfz archive.tar.gz dir1 Create a gzip format compressed package
tar -xvfz archive.tar.gz Decompress a gzip format compressed package
zip file1.zip file1 Create a zip format compressed package
zip -r file1.zip file1 file2 dir1 Compress several files and directories into a zip format compressed package
unzip file1.zip Decompress a zip format compressed package

RPM Packages#

rpm -ivh package.rpm Install an RPM package
rpm -ivh --nodeeps package.rpm Install an RPM package while ignoring dependency warnings
rpm -U package.rpm Update an RPM package without changing its configuration files
rpm -F package.rpm Update a specific installed RPM package
rpm -e package_name.rpm Remove an RPM package
rpm -qa Display all installed RPM packages in the system
rpm -qa | grep httpd Display all RPM packages with "httpd" in their name
rpm -qi package_name Get special information about an installed package
rpm -qg "System Environment/Daemons" Display the RPM package of a component
rpm -ql package_name Display the list of files provided by an installed RPM package
rpm -qc package_name Display the list of configuration files provided by an installed RPM package
rpm -q package_name --whatrequires Display a list of packages that depend on an RPM package
rpm -q package_name --whatprovides Display the size occupied by an RPM package
rpm -q package_name --scripts Display scripts executed during installation/removal
rpm -q package_name --changelog Display the change history of an RPM package
rpm -qf /etc/httpd/conf/httpd.conf Confirm which RPM package provides the given file
rpm -qp package.rpm -l Display the list of files provided by an RPM package that has not been installed
rpm --import /media/cdrom/RPM-GPG-KEY Import public key digital certificate
rpm --checksig package.rpm Confirm the integrity of an RPM package
rpm -qa gpg-pubkey Confirm the integrity of all installed RPM packages
rpm -V package_name Check file size, permissions, type, owner, group, MD5 checks, and last modified time
rpm -Va Check all installed RPM packages in the system - use with caution
rpm -Vp package.rpm Confirm that an RPM package has not been installed
rpm2cpio package.rpm | cpio --extract --make-directories *bin* Run executable files from an RPM package
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm Install a built package from RPM source
rpmbuild --rebuild package_name.src.rpm Build an RPM package from RPM source

YUM Package Updater#

yum install package_name Download and install an RPM package
yum localinstall package_name.rpm Install an RPM package using your own software repository to resolve all dependencies
yum update package_name.rpm Update all installed RPM packages in the current system
yum update package_name Update an RPM package
yum remove package_name Remove an RPM package
yum list List all packages installed in the current system
yum search package_name Search for packages in the RPM repository
yum clean packages Clean RPM cache and remove downloaded packages
yum clean headers Remove all header files
yum clean all Remove all cached packages and header files

DEB Packages#

dpkg -i package.deb Install/Update a DEB package
dpkg -r package_name Remove a DEB package from the system
dpkg -l Display all installed DEB packages in the system
dpkg -l | grep httpd Display all DEB packages with "httpd" in their name
dpkg -s package_name Get information about a specific package installed in the system
dpkg -L package_name Display the list of files provided by an installed DEB package
dpkg --contents package.deb Display the list of files provided by a package that has not been installed
dpkg -S /bin/ping Confirm which DEB package provides the given file
APT Software Tools (Debian, Ubuntu, and similar systems)
apt-get install package_name Install/Update a DEB package
apt-cdrom install package_name Install/Update a DEB package from a CD
apt-get update Upgrade the list of software packages
apt-get upgrade Upgrade all installed software
apt-get remove package_name Remove a DEB package from the system
apt-get check Confirm that the dependency software repository is correct
apt-get clean Clean the cache from downloaded software packages
apt-cache search searched-package Return the names of packages containing the search string

View File Contents#

cat file1 View the contents of the file from the first byte
tac file1 View the contents of a file in reverse from the last line
more file1 View the contents of a long file
less file1 Similar to the 'more' command, but allows reverse operations in the file
head -2 file1 View the first two lines of a file
tail -2 file1 View the last two lines of a file
tail -f /var/log/messages Real-time view of content added to a file

Text Processing#

cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt Merge detailed description text from a file and write the summary to a new file
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt Merge detailed description text from a file and write the summary to an existing file
grep Aug /var/log/messages Search for the keyword "Aug" in the file '/var/log/messages'
grep ^Aug /var/log/messages Search for words starting with "Aug" in the file '/var/log/messages'
grep [0-9] /var/log/messages Select all lines in the '/var/log/messages' file that contain numbers
grep Aug -R /var/log/* Search for the string "Aug" in the directory '/var/log' and subsequent directories
sed 's/stringa1/stringa2/g' example.txt Replace "string1" with "string2" in the example.txt file
sed '/^$/d' example.txt Delete all blank lines from example.txt
sed '/ *#/d; /^$/d' example.txt Delete all comments and blank lines from example.txt
echo 'example' | tr '[:lower:]' '[:upper:]' Merge the contents of upper and lower cells
sed -e '1d' result.txt Exclude the first line from the example.txt file
sed -n '/stringa1/p' View only the lines containing the word "string1"
sed -e 's/ *$//' example.txt Remove trailing whitespace from each line
sed -e 's/stringa1//g' example.txt Remove the word "string1" from the document while keeping the rest
sed -n '1,5p;5q' example.txt View content from the first line to the fifth line
sed -n '5p;5q' example.txt View the fifth line
sed -e 's/00*/0/g' example.txt Replace multiple zeros with a single zero
cat -n file1 Number the lines of the file
cat example.txt | awk 'NR%2==1' Delete all even lines from the example.txt file
echo a b c | awk '{print $1}' View the first column of a line
echo a b c | awk '{print $1,$3}' View the first and third columns of a line
paste file1 file2 Merge the contents of two files or columns
paste -d '+' file1 file2 Merge the contents of two files or columns, separated by "+"
sort file1 file2 Sort the contents of two files
sort file1 file2 | uniq Get the union of two files (duplicate lines are kept only once)
sort file1 file2 | uniq -u Remove the intersection, leaving other lines
sort file1 file2 | uniq -d Get the intersection of two files (only keep files that exist in both)
comm -1 file1 file2 Compare the contents of two files, removing only what is contained in 'file1'
comm -2 file1 file2 Compare the contents of two files, removing only what is contained in 'file2'
comm -3 file1 file2 Compare the contents of two files, removing the common parts of both files

Character Settings and File Format Conversion#

dos2unix filedos.txt fileunix.txt Convert a text file from MSDOS format to UNIX
unix2dos fileunix.txt filedos.txt Convert a text file from UNIX format to MSDOS
recode ..HTML < page.txt > page.html Convert a text file to HTML
recode -l | more Display all allowed conversion formats

File System Analysis#

badblocks -v /dev/hda1 Check for bad blocks on disk hda1
fsck /dev/hda1 Repair/check the integrity of the Linux file system on disk hda1
fsck.ext2 /dev/hda1 Repair/check the integrity of the ext2 file system on disk hda1
e2fsck /dev/hda1 Repair/check the integrity of the ext2 file system on disk hda1
e2fsck -j /dev/hda1 Repair/check the integrity of the ext3 file system on disk hda1
fsck.ext3 /dev/hda1 Repair/check the integrity of the ext3 file system on disk hda1
fsck.vfat /dev/hda1 Repair/check the integrity of the FAT file system on disk hda1
fsck.msdos /dev/hda1 Repair/check the integrity of the DOS file system on disk hda1
dosfsck /dev/hda1 Repair/check the integrity of the DOS file system on disk hda1

Initializing a File System#

mkfs /dev/hda1 Create a file system on partition hda1
mke2fs /dev/hda1 Create a Linux ext2 file system on partition hda1
mke2fs -j /dev/hda1 Create a Linux ext3 (journaled) file system on partition hda1
mkfs -t vfat 32 -F /dev/hda1 Create a FAT32 file system
fdformat -n /dev/fd0 Format a floppy disk
mkswap /dev/hda3 Create a swap file system

SWAP File System#

mkswap /dev/hda3 Create a swap file system
swapon /dev/hda3 Enable a new swap file system
swapon /dev/hda2 /dev/hdb3 Enable two swap partitions

Backup#

dump -0aj -f /tmp/home0.bak /home Create a full backup of the '/home' directory
dump -1aj -f /tmp/home0.bak /home Create an interactive backup of the '/home' directory
restore -if /tmp/home0.bak Restore an interactive backup
rsync -rogpav --delete /home /tmp Synchronize both directories
rsync -rogpav -e ssh --delete /home ip_address:/tmp Rsync through SSH
rsync -az -e ssh --delete ip_addr:/home/public /home/local Synchronize a remote directory to a local directory via SSH and compression
rsync -az -e ssh --delete /home/local ip_addr:/home/public Synchronize a local directory to a remote directory via SSH and compression
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' Perform a backup of the local disk on the remote host via SSH
dd if=/dev/sda of=/tmp/file1 Backup disk content to a file
tar -Puf backup.tar /home/user Perform an interactive backup of the '/home/user' directory
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' Copy a directory's contents to a remote directory via SSH
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' Copy a local directory to a remote directory via SSH
tar cf - . | (cd /tmp/backup ; tar xf - ) Copy a directory locally to another place, preserving original permissions and links
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents Find and copy all files ending with '.txt' from one directory to another
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 Find all files ending with '.log' and create a bzip package
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 Copy the MBR (Master Boot Record) content to a floppy disk
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 Restore MBR content from a backup saved to a floppy disk

CD-ROM#

cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force Clear the contents of a rewritable CD
mkisofs /dev/cdrom > cd.iso Create an ISO image file of a CD on disk
mkisofs /dev/cdrom | gzip > cd_iso.gz Create a compressed ISO image file of a CD on disk
mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd Create an ISO image file of a directory
cdrecord -v dev=/dev/cdrom cd.iso Burn an ISO image file
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - Burn a compressed ISO image file
mount -o loop cd.iso /mnt/iso Mount an ISO image file
cd-paranoia -B Transcribe audio tracks from a CD to wav files
cd-paranoia -- "-3" Transcribe audio tracks from a CD to wav files (parameter -3)
cdrecord --scanbus Scan the bus to identify SCSI channels
dd if=/dev/hdc | md5sum Check the md5sum encoding of a device, such as a CD

Networking (Ethernet and WIFI)#

ifconfig eth0 Display the configuration of an Ethernet card
ifup eth0 Enable an 'eth0' network device
ifdown eth0 Disable an 'eth0' network device
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 Control the IP address
ifconfig eth0 promisc Set 'eth0' to promiscuous mode to sniff packets
dhclient eth0 Enable 'eth0' in DHCP mode
route -n Show the routing table
route add -net 0/0 gw IP_Gateway Configure the default gateway
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 Configure a static route to reach network '192.168.0.0/16'
route del 0/0 gw IP_gateway Remove a static route
echo "1" > /proc/sys/net/ipv4/ip_forward Activate IP routing
hostname Show the hostname of the system
host www.example.com Lookup hostname to resolve name to IP address and vice versa (1)
nslookup www.example.com Lookup hostname to resolve name to IP address and vice versa (2)
ip link show Show link status of all interfaces
mii-tool eth0 Show link status of 'eth0'
ethtool eth0 Show statistics of network card 'eth0'
netstat -tup Show all active network connections and their PID
netstat -tupl Show all network services listening on the system and their PID
tcpdump tcp port 80 Show all HTTP traffic
iwlist scan Show wireless networks
iwconfig eth1 Show configuration of a wireless network card
hostname Show hostname
host www.example.com Lookup hostname to resolve name to IP address and vice versa
nslookup www.example.com Lookup hostname to resolve name to IP address and vice versa
whois www.example.com Lookup on Whois database

Listing Directory Contents#

ls -a: Show all files (including hidden files);
ls -l: Show detailed information;
ls -R: Recursively display the subdirectory structure;
ls -ld: Show directory and link information;
ctrl+r: Search command in history (input any character from the command);
Files starting with . in Linux are hidden files;
pwd: Display the current directory

View File Type#

file: View the file type

Copy File Directory#

1. cp: Copy files and directories cp source_file (folder) target_file (folder).
Common parameters: -r: Recursively copy the entire directory tree; -v: Show detailed information;
When copying folders, add a -r parameter after the cp command:
For example: cp -r source_folder target_folder.

2. touch + filename: Create the corresponding file when the file does not exist; modify the creation time of the file when it exists.
Function: Generate an empty file or modify the access/modification time record value of the file;
touch *: Modify the file time to the current system time;
touch –d 20040210 test: Change the date of the test file to 20040210;
touch abc: If the abc file exists, modify it to the current system time; if it does not exist, generate an empty file with the current time.

3. mv file target directory: Move or rename files or directories (if a file name is specified, it can rename the file). You can move files and directories to another directory or change the names of files and directories.
Format: mv [parameters] <source file or directory> <target file or directory>
mv a.txt ../: Move the a.txt file to the parent directory
mv a.txt b.txt: Rename a.txt to b.txt
mv dir2 ../: Move the dir2 directory up one level

4. rm: Delete files
Common parameters: -i: Interactive -r: Recursively delete all contents including directories.

5. mkdir + folder name: Create a folder

6. rm -r + folder name: Delete a folder (both empty and non-empty folders can be deleted);
rmdir folder name: Delete a folder (can only delete empty folders).

7. mkdir -p dir1/dir2: Create the dir1 directory under the current directory, and create the dir2 directory under the dir1 directory, which means creating two directories consecutively (dir1/ and dir1/dir2).

8. rmdir –p dir1/dir2: Delete the dir2 directory under dir1, and if the dir1 directory is empty, delete it as well.

9. rm *: Delete all files in the current directory

10. -f parameter: Force delete files rm –f  *.txt: Force delete all files with the .txt extension.

11. -i parameter: Ask when deleting files
rm –i  *: Deleting all files in the current directory will prompt:
rm:backup:is a directory           Skips directories
rm: remove ‘myfiles.txt’ ? Y
When deleting files, it will ask, you can press Y or N to allow or refuse to delete the file.

12. -r parameter: Recursively delete (delete along with subdirectories, this is a fairly common parameter).
rm  -r test: Delete the test directory (including all files and subdirectories under the test directory);
rm  -r  *: Delete all files (including all files in the current directory, all subdirectories, and files under subdirectories) Generally, when deleting directories, r and f are used together to avoid trouble;
rm  -rf test: Force delete without asking.

13. grep: Function: Search for matching characters in a file and output.
Format: grep[parameters] <string to find> <source file to search>
grep linux test.txt: Search for the string linux in the test.txt file and output.

14. ln command
Function: Establish a link between files and directories
Format: ln [parameters] <source file or directory> <target file or directory>
Links are divided into "soft links" and "hard links"
1. Soft link:
ln–s /usr/share/do  doc: Create a link file doc, pointing to the directory /usr/share/do
2. Hard link:
ln  /usr/share/test  hard: Create a hard link file hard, which adds another file pointing to the storage area corresponding to the test file.

Common System Commands#

1. Display Commands

date: View or set the current system time: Format the display time: +%Y--%m--%d;
date -s: Set the current system time;
hwclock(clock): Display hardware clock time (requires administrator privileges);
cal: View calendar;
Format cal [parameters] month year;
cal: Display the current month's calendar   cal4 2004: Display the calendar for April 2004;
cal -y 2003: Display the calendar for the year 2003;
uptime: View system uptime

2. Output Viewing Commands

echo: Display the input content  Append to file echo "liuyazhuang" >> liuyazhuang.txt
cat: Display file content, can also merge several files into one;
Format: cat[parameters]<filename>
cat  test.txt: Display the content of test.txt;
cat  test.txt | more: Display the content of test.txt page by page;
cat  test.txt >> test1.txt: Append the content of test.txt to test1.txt;
cat  test.txt test2.txt >readme.txt: Merge test.txt and test2.txt into readme.txt;
head: Display the first few lines of a file (default 10 lines) -n: Specify the number of lines to display format: head -n filename;
tail: Display the last few lines of a file (default 10 lines) -n: Specify the number of lines to display   -f: Track and display file updates (generally used to view logs, the command will not exit, but will continuously display new content added);
Format: tail[parameters]<filename>
tail -10 /etc/passwd: Display the last 10 lines of the /etc/passwd file;
tail +10 /etc/passwd: Display the contents of the /etc/passwd file from the 10th line to the end;
more: Used to page through file content (can only page down);
The more command is generally used when the content to be displayed exceeds one screen length. To avoid the content flashing by instantly when displayed, users can use the more command to pause when the screen is full. You can press the space bar to continue displaying the next screen or press the Q key to stop displaying;
ls  -al  |more: Display the file list in the etc directory in long format, pause when the screen is full, you can press the space bar to continue displaying the next screen or press the Q key to exit;
less: Page through file content (with up and down paging) Press the up key to page, press q to exit;
The less command is similar to the more command and can also be used to browse files that exceed one page. The difference is that the less command can scroll the file using the up and down keys in addition to displaying the file downwards with the space bar. When you want to end browsing, just press the Q key at the prompt ":" of the less command;
ls  -al | less: List all contents in the /etc directory in long format. Users can browse using the up and down keys or press the Q key to exit.

3. View Hardware Information

3. View Hardware Information

lspci: View PCI devices  -v: View detailed information
lsusb: View USB devices -v: View detailed information
lsmod: View loaded modules (drivers)

4. Shutdown, Restart

4. Shutdown, Restart

shutdown Close or restart the computer
shutdown[shutdown, restart] time  -h Close the computer   -r: Restart the computer
For example: Shut down immediately: shutdown -h now
Shut down in 10 minutes: shutdown -h +10
Shut down at 23:30: shutdown -h 23:30
Restart immediately: shutdown -r now
poweroff: Shut down the computer immediately
reboot: Restart the computer immediately

5. Archiving, Compressing

5. Archiving, Compressing

zip: Compress files  zip liuyazhuang.zip myfile  Format: “zip compressed zip file name”
unzip: Decompress files  unzip liuyazhuang.zip
gzip: Compress files gzip filename
tar: Archive files
tar -cvf out.tar liuyazhuang  Package an archive (pack the file "liuyazhuang" into an archive)
tar -xvf liuyazhuang.tar     Extract an archive (extract the liuyazhuang.tar archive)
tar -cvzf backup.tar.gz/etc  
-z parameter will gzip compress the archived file to reduce size.
-c: Create a new tar file
-v: Display information about the running process
-f: Specify the file name
-z: Call the gzip compression command for compression
-t: View the contents of the compressed file
-x: Unpack the tar file
tar  -cvf test.tar  *: Package all files into test.tar, the extension .tar needs to be added manually
tar  -zcvf test.tar.gz  *: Package all files into test.tar, then compress with the gzip command
tar -tf   test.tar: View which files are included in the test.tar file
tar -xvf test.tar: Extract test.tar
tar -zxvf foo.tar.gz: Decompress
gzip and gunzip commands
gzip test.txt: Compress files without needing any parameters
gzip -l test.txt.gz: Display the compression ratio

6. Search

6. Search

locate: Quickly find files, folders: locate keyword
This command requires a pre-built database, which is updated daily by default, and the updatedb command can be used to manually build or update the database.
find Search location search parameters
For example:
find . -name *liuyazhuang* Find files in the current directory with "liuyazhuang" in their name
find / -name *.conf  Find files with the .conf extension in the root directory (entire hard drive)
find / -perm 777 Find all files with permission 777
find / -type d Return all directories under the root directory
find . -name "a*"-exec ls -l {} \;
find Function: Used to find files or directories
Format: find [<path>] [matching conditions]
find / -name httpd.conf  Search for a file named httpd.conf in the system root directory

7. ctrl+c: Terminate the current command

8. who or w command

8. who or w command

Function: View which users are currently logged into the system
Format: who/w[parameters]

9. dmesg command

9. dmesg command
Function: Display system diagnostic information, operating system version number, physical memory size, and other information.

10. df command

10. df command
Function: Used to view the usage of each partition of the file system.

11. du command

11. du command

Function: View the amount of hard disk space used by each level of subdirectories in a directory.
Format: du [parameters] <directory name>

12. free command

12. free command

Function: Used to view the size and usage of system memory and virtual memory (swap space).
Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.