目录
一、Linux常用命令
1.date命令 用于显示当前日期和时间
2.pwd命令 用于显示当前工作路径
3.cd命令 用于切换当前路径
4.cal命令 用于显示日历(有些Linux系统用ncal)
5.who命令 用于显示当前已经登录到系统的所有用户名、登录终端以及登录时间
6.wc命令 用于统计给定文件的行数、字符数、字数,使用格式为
7.uname命令 用于显示操作系统当前信息,可带有多个选项。
8.clear命令 用于刷新屏幕,清空屏幕上所有字符。
9.logout命令 用于注销登录信息
10.shutdown命令 用于执行后关闭操作系统。
二、命令高级操作
1.命令补全
2.使用历史命令
3.输入/输出重定向
4.管道功能
三、文件命令操作
1.ls命令
2.cd命令
3.cat命令
4.more命令
5.head命令
6.tail命令
7.cp命令
8.mv命令
9.rm命令
10.touch命令
11.file命令
12.find命令
13.grep命令
14.sort命令
15.mkdir命令
16.rmdir命令
17.tar命令
18.gzip命令
总结
下面介绍一些Linux操作系统常用的简单命令,执行这些命令只需要在终端输入命令名,按Enter键即可哦!
root@harvey:~# date
2022年 11月 05日 星期六 10:46:14 CST
root@harvey:~# pwd
/root
root@harvey:~# cd /home
root@harvey:/home# pwd
/home
root@harvey:~# ncal
十一月 2022
一 7 14 21 28
二 1 8 15 22 29
三 2 9 16 23 30
四 3 10 17 24
五 4 11 18 25
六 5 12 19 26
日 6 13 20 27
root@harvey:~# who
harvey tty2 2022-11-05 10:53 (tty2)
root@harvey:~#
wc [-lwc] 文件名
root@harvey:~# vim test.c
root@harvey:~# wc -l test.c
293 test.c
root@harvey:~# wc -lwc test.c
293 577 6525 test.c
选项-l表示统计行数;-w表示统计单词数;-c表示统计字符数
root@harvey:~# uname -a
Linux harvey 5.15.0-52-generic #58-Ubuntu SMP Thu Oct 13 08:03:55 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
当然,Linux操作系统的命令除了在终端输入外,还有一些高级使用技巧,通过这些高级操作,不仅可以快捷地使用命令,还能将多个命令组合起来,实现更复杂功能。
例如输入ma,按两次Tab键,系统会将所有以ma开头的命令显示出来,用户可以根据显示内容重新输入正确的命令。
root@harvey:~# ma
make-ssl-cert man manpath mapfile mawk
mako-render mandb man-recode mapscrn
用户在使用Linux操作系统过程中,输入的所有命令都会被系统自动记录下来,如果后期需要使用前面使用过的命令,可以通过上下箭头来选择最近使用过的命令,还可以使用history命令查看所有历史命令。例如:
root@harvey:~# history
1 sudo passwd root
2 chsh -l
3 echo $SHELL
4 exit
5 chsh -l
6 chsh -1
7 ls -l
8 clear
9 mkdir vitest
10 cd vitest
......
Linux操作系统默认的输入设备是键盘,输出设备是显示器。输入重定向功能可以让用户将某个文件作为输入设备,输出重定向功能可以把某个文件作为输入设备,从而使系统的使用更加灵活。
输入重定向符号是“<”,执行该命令,“>”后面的文件替代用户从键盘输入内容。例如:
root@harvey:~# mail -s "test mail" w_harvey@localhost
将file文件中的内容直接发送到w_harvey用户的邮箱。
输出重定向符号是“>”和“>>”,“>”将输出内容直接写入指定文件,“>>”叫重定向附加,即将输出内容附加在指定文件后面。另外,还有错误重定向输出“2>”,可以把命令行出错的信息保存到指定文件中去。例如:
root@harvey:~# ls >filetest //将文件列表输出到filetest文件中
root@harvey:~# ncal >>filetest //将日历信息附加到filetest文件后面
使用管道功能可以把一个命令的输出信息作为另一个命令的输入信息,从而将两个或两个以上的简单命令连接在一起,实现复杂的功能。
管道功能通过管道线“ | ”实现,管道线“ | ”前面命令的输出信息是管道线“ | ”后面命令的输入信息。例如:
root@harvey:~# ls //显示文件夹和目录
filetest fork fork.c gdbtest snap test.c vforktest vforktest.c
root@harvey:~# ls | wc -w //统计文件和目录的数量
8
文件是构成Linux操作系统的最基本元素,操作系统的信息以文件的形式保存管理,很多操作系统的功能都能通过对文件的操作来实现,所以文件操作命令也是用户需要掌握的最基本的系统命令。下面让我们学习一下最基本的文件操作命令吧。
用来显示文件列表,语法格式:
ls [选项] [目录或文件名]
命令选项 | 含义 |
-a | 显示所有文件及目录,目录中以“.”开头的文件是隐藏文件,普通ls命令不会列出,只有带“-a”参数才能显示出来 |
-l | 以长格式显示目录下的内容列表,输出的信息从左到右依次包括文件名、文件类型、权限模式、链接参数、所有者、组、文件大小和文件的最后修改时间等 |
-i | 显示文件索引节点号(inode),一个索引点代表一个文件 |
-r | 以文件名反序排列并输出目录内容列表 |
-t | 用文件和目录的更改时间排序 |
-m | 用“,”号区隔每个文件和目录的名称 |
-R/r | 递归显示指定目录下的所有文件及子目录 |
例如:不带参数的ls命令显示文件和目录名称。
root@harvey:~# ls
filetest fork fork.c gdbtest snap test.c vforktest vforktest.c
例如:带参数的ls命令显示文件和目录的详细信息,这些信息依次是文件类型、访问权限、链接数、属主、属组、文件长度、文件建立时间、文件名。
root@harvey:~# ls -l
total 60
-rw-r--r-- 1 root root 253 11月 5 11:32 filetest
-rwxr-xr-x 1 root root 16080 10月 4 17:25 fork
-rw-r--r-- 1 root root 1001 10月 9 10:37 fork.c
drwxr-xr-x 2 root root 4096 10月 3 21:32 gdbtest
drwx------ 5 root root 4096 9月 28 00:48 snap
-rw-r--r-- 1 root root 6525 11月 5 11:01 test.c
-rwxr-xr-x 1 root root 16312 10月 9 15:31 vforktest
-rw-r--r-- 1 root root 765 10月 9 15:31 vforktest.c
用来切换工作目录至指定目录
例如:
root@harvey:~# pwd //显示当前路径
/root
root@harvey:~# cd /home //切换工作目录到/home目录
root@harvey:/home# pwd
/home
root@harvey:/home# cd //切换工作目录到root的“家”目录
root@harvey:~# pwd
/root
用来显示文件内容,使用方法为:
cat [选项] [文件名]
root@harvey:~# cat test.c
#include
int main()
{
printf("Hello,this is a test program.\n");
return 0;
}
带-n参数显示文件时加行号:
root@harvey:~# cat test.c
1 #include
2 int main()
3 {
4 printf("Hello,this is a test program.\n");
5 return 0;
6 }
用来分屏显示大文件,当显示满屏后停下来,并且在屏幕底下出现一个提示信息,给出至今已显示的该文件的百分比:--More--(XX%),按空格键显示文本的下一屏内容;按Enter键显示文本的下一行内容;按B显示上一屏内容;按Q退出more命令。例如用more命令查看/etc/passwd文件。
root@harvey:~# more /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologi
n
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/n
ologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:102:105::/nonexistent:/usr/sbin/nologin
--More--(37%)
用来显示文件的开头内容,默认情况下,head文件显示文件的头10行内容。
root@harvey:~# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
用于输入文件中的尾部内容。
root@harvey:~# tail /etc/passwd
nm-open:x:120:126:NetworkManager OpenVPN,,,:/var/lib/open/chroot:/usr/sbin/nologin
saned:x:121:128::/var/lib/saned:/usr/sbin/nologin
colord:x:122:129:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin
geoclue:x:123:130::/var/lib/geoclue:/usr/sbin/nologin
pulse:x:124:131:PulseAudio daemon,,,:/run/pulse:/usr/sbin/nologin
gnome-initial-setup:x:125:65534::/run/gnome-initial-setup/:/bin/false
hplip:x:126:7:HPLIP system user,,,:/run/hplip:/bin/false
gdm:x:127:133:Gnome Display Manager:/var/lib/gdm3:/bin/false
harvey:x:1000:1000:Harvey,,,:/home/harvey:/bin/bash
fwupd-refresh:x:128:136:fwupd-refresh user,,,:/run/systemd:/usr/sbin/nologin
用来将一个或多个源文件(或目录)复制到指定的目标目录中。语法格式:
cp [选项] 源文件或目录 目标文件或目录
例如:复制/etc/passwd 文件到当前目录名并改名为passwd.bsk。
root@harvey:~# cp /etc/passwd passwd.bak
用来将一个文件从一个目录移动到另一个目录中,或对文件或目录重新命名。语法格式:
mv [选项] 源文件或目录 目标文件或目录
例如:将当前目录中passwd。bak 文件搬移到/home目录下:
root@harvey:~# mv passwd.bak /home/passwd.bak
可以删除一个目录中的一个文件或多个文件或目录,也可以将莫格目录及其下属的所有文件均删除。语法格式:
rm [选项] 文件或目录列表
root@harvey:~# rm -i test.c
rm: remove regular empty file 'test.c'? n //删除文件时有提示
root@harvey:~# rm -f test.c //删除文件时没有提示,直接删除
root@harvey:~#
用来创建新的空文件或者改变已有文件的时间标签(已有文件的数据不变)。语法格式:
touch [选项] 文件名
oot@harvey:~# touch testfile //建立新文件testfile
root@harvey:~# ls -l testfile
-rw-r--r-- 1 root root 0 11月 5 17:37 testfile
当文件已经存在时,touch命令改变该文件的创建日期,如:
root@harvey:~# ls -l testfile
-rw-r--r-- 1 root root 0 11月 5 17:37 testfile
root@harvey:~# touch testfile //文件testfile已经存在,改变其日期
root@harvey:~# ls -l testfile
-rw-r--r-- 1 root root 0 11月 5 17:40 testfile
用来识别文件类型,也可以用来辨别一些文件的编码格式。
root@harvey:~# file test.c
test.c: C source, ASCII text
root@harvey:~# file test
test: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a230ac0909d525202209a40f31c310b07c52fde1, for GNU/Linux 3.2.0, not stripped
用来在文件系统中查找指定的文件,可以根据文件的名称、大小、建立时间等信息查找文件。语法格式:
find [目录列表] [文件的匹配标准]
root@harvey:~# find / -name "*.c" //查找/目录下的所有*.c文件
root@harvey:~# find /home -per 744 //查找/home目录下的所有访问权限为744的文件
用来在指定文件中检索匹配关键字信息,并把匹配的行打印出来。
例如,在文件passwd文件中找出带字符串root的行:
root@harvey:~# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
nm-open:x:120:126:NetworkManager OpenVPN,,,:/var/lib/open/chroot:/usr/sbin/nologin
用来将文件进行排序,并将排序结果标准输出。
例如对passwd文件进行排序:
root@harvey:~# sort /etc/passwd
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
avahi-autoipd:x:110:119:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/usr/sbin/nologin
avahi:x:114:121:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
colord:x:122:129:colord colour management daemon,,,:/var/lib/colord:/usr/sbin/nologin
...
用来创建目录。语法格式:
mkdir [选项] 目录列表
root@harvey:~# mkdir data //建立目录data
root@harvey:~# ls -l
total 76
drwxr-xr-x 2 root root 4096 11月 5 17:58 data
用来删除空目录。语法格式:
rmdir [选项] 目录列表
root@harvey:~# rmdir -p data //删除data目录
打包命令,文件以.tar结尾命名文件。使用格式:
tar [选项] 文件或目录
//将当前目录下*.c文件打包到cfile.tar,不压缩
root@harvey:~# tar -cvf cfile.tar *.c
fork.c
test.c
vforktest.c
//将当前目录下*.c文件打包到cfile.tar.gz,并调用gzip程序压缩
root@harvey:~# tar -cvf cfile.tar.gz *.c
fork.c
test.c
vforktest.c
root@harvey:~# tar -xzvf cfile.tar.gz
//将包文件cfile.tar解包,释放包中文件
root@harvey:~# tar -xvf cfile.tar
fork.c
test.c
vforktest.c
//将包文件cfile.tar.gz解包,释放包中文件
root@harvey:~# tar -xzvf cfile.tar.gz
fork.c
test.c
vforktest.c
文件压缩程序,以.gz为后缀。使用格式:
gzip [选项] 文件
oot@harvey:~# gzip test //将当前目录下test文件压缩为test.gz
root@harvey:~# gzip -d test.gz //将压缩包test.gz中的源文件释放,并删除压缩文件test.gz
以上是对Linux命令包括常用命令、文件操作命令的介绍,后续将对用户和组管理命令、网络管理和通信命令、进程管理命令等进行逐一介绍。