Shell:
Shell实现了用户和内核之间的通信,用户把一些命令告诉终端程序,它就会调用相应的程序服务去完成某些工作。
Bash:
现在主流的Linux系统默认使用的终端是Bash解释器。
即: Bash被包含于Shell。
man
命令
man
命令可以用于查询命令的使用手册(manual),这个命令非常常用,在接触到新的指令时可以尝试多看一看。
eg:man ls
可以查询ls
指令相关的介绍。
长格式与短格式
man --help
man -h
4个常用的快捷键/组合键
Tab键
:自动补齐re
reb
reboot
,以reb开头的命令只有reboot
一个Ctrl+C组合键
:终止当前的进程Ctrl+D组合键
:表示键盘输入结束Ctrl+L组合键
:表示清屏echo
命令echo Linux
Linux
echo $SHELL
/bin/bash
date
命令date
timedatectl
命令timedatectl status
reboot
命令poweroff
命令wget
命令wget 网址
ps
命令ps -aux
pstree
命令pstree
top
命令top
nice
命令nice -n -20 bash
pidof
命令pidof sshd
kill
命令kill 2156
kill -9 2156
killall
命令killall httpd
httpd
服务程序有多个进程,使用killall
命令可以杀死该服务程序下的所有进程&
符号&
号可以让系统在后台运行。ifconfig
命令ifconfig
uname
命令uname -a
uptime
命令uptime
free
命令free -h
who
命令who
last
命令last
ping
命令ping www.baidu.com
tracepath
命令tracepath www.baidu.com
netstat
命令netstat -i
history
命令history
cat ~/.bash_history
history -c
sosreport
命令sosreport
pwd
命令pwd
cd
命令cd ~
cd -
cd ..
cd /etc
/etc
目录(绝对路径)cd ./dhcp
dhcp
目录(相对路径)cd ../lib64
lib64
目录(相对路径)ls
命令ls
ls -a
ls -l
ls -ld
(参数-d:directory)tree
命令tree
find
命令find /etc -name "*host"
etc
目录中所有以host
开头的文件列表find /etc -name "*host" -exec cp -a {} /root/findresults/ \;
etc
目录中所有以host
开头的文件列表,并且将得到的文件复制到/root/findresults/
中。-exec {} \
,类似于管道符命令,其中{}
表示find
命令搜索出的每一个文件,并且命令的结尾必须是\;
locate
命令find
命令高,但find
更准确。在第一次使用locate
命令之前,需要先执行updatedb
命令来生成索引数据库,这个库文件是/var/lib/mlocate/mlocate.db
locate whereis
whereis
命令whereis ls
which
命令which ls
cat
命令cat text
cat -n text
more
命令more moc_mainwindow.cpp
head
命令head -n 10 moc_mainwindow.cpp
tail
命令tail -n 10 moc_mainwindow.cpp
tail -f moc_mainwindow.cpp
tr
命令tr [原始字符] [目标字符]
cat
命令读取待处理的文本,然后通过管道符把这些文本内容传递给tr
命令进行替换操作即可。cat moc_mainwindow.cpp | tr [a-z] [A-Z]
wc
命令wc -l moc_mainwindow.cpp
wc -w moc_mainwindow.cpp
wc -c moc_mainwindow.cpp
stat
命令stat moc_mainwindow.cpp
Access
:内容最后一次被访问的时间,简称Atime;2、Modify
:内容最后一次被修改的时间,简称Mtime;3、Change
:文件属性最后一次被修改的时间,简称Ctimegrep
命令grep /sbin/nologin /etc/passwd
/etc/passwd
文件中提取/sbin/nologin
这个字段的内容。/etc/passwd
中保存着所有的用户信息,而一旦用户的终端系统被设置成/sbin/nologin
,则不再允许登录系统,因此本例可以查找出当前系统中不允许登录系统的所有用户的信息。root:x:0:0:root:/root:/bin/bash
sync:x:4:65534:sync:/bin:/bin/sync
系统文件在保存用户数据信息时,每一项之间是采用冒号(:)为间隔符号的第一列内容cut
命令cut -d : -f 1 /etc/passwd
-d
参数用来设置间隔符号,这里设置的是:
;-f
参数设置需要查看的列数,这里的设置是1
。本例便可提取出passwd文件中的用户信息,即提取以:
为间隔的第1
列内容。diff
命令diff --brief text1 text2
text1
和text2
是否相同diff -c text1 text2
text1
和text2
的不同之处uniq
命令uniq text
cat
命令观察到文件内部的信息I love you for many years
I love you for many years
I love you for many years
I love you for many years
I love you for many years
But you don`t love me!
使用uniq
命令后输出的内容I love you for many years
But you don`t love me!
本例是除去了文本中连续的重复行,但中间不能夹杂其他文本行sort
命令sort fruit
cat
命令观察到文件内部的信息banana
pear
apple
orange
raspaberry
使用sort
命令后输出的内容apple
banana
orange
pear
raspaberry
本例是按照字母顺序进行排序sort -u fruit
uniq
命令的差别。sort -n number
number
文件的数字进行排序sort -t : -k 3 -n user
-t
参数指定间隔符:
,用-k
参数指定列数3
,用-n
参数进行数字排序touch
命令
eg:touch text
创建空白文件,文件名称为touch
eg:touch -d "2023-03-01 9:00" text
更改文件的修改时间。在修改前和修改后可以通过命令ls -l
查看文件对应的修改时间。
mkdir
命令
eg:mkdir a
创建空白目录,目录名称为a
eg:mkdir -p /b/c/d/e
指令命令cd a
之后创建具有嵌套层叠关系的文件目录
cp
命令
eg:cp text1 text2
将text1
文件复制到text2
中
eg:cp -r ./a/b/c/ .
将目录c
中的所有内容复制到当前目录下,-r
参数表明递归持续复制,当前目录的结构为:
.
└── d└── e
mv
命令
eg:mv text1 text2
将文件text1
剪切,并粘贴给text2
,此时text1
会消失
rm
命令
eg:rm -rf a
强制删除目录a
,-r
参数指删除目录,-f
参数指强制
dd
命令
eg:dd if=/dev/zero of=560_file count=1 bs=560M
在文件/dev/zero
中取出1
个大小为560MB
的数据块,然后保存成名为560_file
的文件。
file
命令
eg:file text
用于查看文件text
的文件类型。
tar
命令
eg:tar czvf etc.tar.gz /etc
使用tar
命令把/etc
目录通过gzip
的格式进行打包压缩,并命名为etc.tar.gz
。其中,参数-c
表示创建压缩文件、-z
用gzip
压缩或解压、-v
显示压缩或解压的过程、-f
目标文件名
eg:tar xzvf etc.tar.gz -C /etc
使用tar
命令把压缩包etc.tar.gz
指定解压到/etc
目录中。其中,参数-x
表示解开压缩文件、-z
用gzip
压缩或解压、-v
显示压缩或解压的过程、-f
目标文件名、-C
指定解压到的目录。