1.命令使用方法
1.Linux的命令格式
command [-options][parameter1]
说明:
command:命令名,相应功能的英文单词或单词的缩写
[-options]:选项,可用来对命令进行控制,也可以省略,[]代表可选
[parameterl]:传给命令的参数,可以是零个一个或多个
如:/usr/include¥ -ls -a -l -()
2.查看帮助文件
(1)--help
如我们查看命令ls的用法:ls ---help
(2)man(有问题找man)
·man+命令
·一种情况,英文名可能重复
即一个是属于函数,一个属于命令
如:printf既是命令又是i函数
解决方案:
第一步:打出“man man”可以查询章节手册
第二步:由于打出“man ls"默认是第一页,即是查询命令程序,若是想要查询函数,则应该改为第三页。具体操作如下:
命令;man 3 printf
(3)查百度
3.补全文件
在敲出命令的前几个字母的同时,按下Tab键,系统会自动帮我们补全命令
4.查询已经用过的命令:
history
2. 命令的使用方法
(1)ls
ls -a //显示指定目录下所有子目录与文件,包括隐藏文件以
ls -l //以列表方式显示文件的详细信息
ls -l -a -h 缩写:ls -lha /-l以人性化的方式显示文件大小
(2)通配符
举例:新建用touch a.c
则我建立了一个a.c的文件,则可以用ls -l a.c来查询我建立的时间,同时使用touch a.c就是按照当时建立的时间建立的
(1)*:在查询文件后缀。如:建立a.c ,则查询"ls *.c"就可以查到
(2)?:如新建a.jpg,则可以查询”ls -a.???老师》
(3)[]:给予范围。如:新建1.c,则输入“【1~9】.?”,就会查到1.c
(4)若是想让通配符当作普通字符,则可以在通配符前加个反斜杠“\”
(3)输入重定向命令:> 和 >>
gedit test.txt
//该命令是新建test.txt.的文件
ls /usr/include/ > test.txt
//若是再新建的文件夹,用来归纳已经建立过的文件夹中,则原来test.txt的文件内容会被替代
ls >> test.txt
两个>>相当于原来的内容不覆盖,在后面追加原来的内容
(4)分屏显示:more
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用 more 命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。
输入:ls |more
(5)管道:|
管道:一个命令的输出可以通过管道做为另一个命令的输入。
//这里要从ls中调取std的文件,则利用“|”的另一端输入文本搜索(grep)以及要调取的std即可
ls | grep std
std.c
std.d
std.m
补充:
windows常用命令(win+r)
查看目录信息:dir
清屏:cls
(6)清屏:clear
输入:clar或者clar+ 即可
(7)切换工作目录:cd
cd ~ //切换到当前用户的主目录(/home/用户目录)
cd . //切换到当前目录
cd .. //切换到上级目录
cd - // 进入上一个使用的目录
(8)显示当前路径:pwd
使用 pwd 命令可以显示当前的工作目录,该命令很简单,直接输入pwd 即可后面不带参数。
(9)创建目录:mkdir
mkdir test //新建一个test的目录
ls
test
madir a/b/c -p //"-p"指的是连续建立,加上这个可以达到
ls a中建b,b中建c的效果
a test
cd a/b/
ls
c
(10)删除目录:rmdir
缺陷:只能删除空的文件夹!
(11)删除文件:rm(强大)
注释:
“-i”是提示你是否删除文件
“-f”是关闭提醒
“-r”删除目录时,得在文件夹后方加入这个,才能从删除
rm 文件名 -i/f/r
rm ~ 路径
rm *. //批量删除有后缀的文件,请不要多空格
rm .. / / -r //删除上一级目录的文件
(12)建立链接文件:ln
软链接:软链接不占用磁盘空间,源文件删除则软链接失效(常用)
硬链接:硬链接只能链接普通文件,不能链接目录。同时占用内存!(不常用)
硬链接(了解):
(独立,改其一,互影响)
1.给某个文件拷贝一份,这2个文件独立占用内存
2.改变其中一个文件,会影响到另外一个文件
3.删除某个硬链接文件,不会影响另外一个文件
软链接:
(寄生源文件,宿主死了,就是死了)
1、类似于windows的快捷方式,软链接依赖于源文件存在
2、如果源文件删除,软链接没有意义
建立硬链接使用格式:
ln 源文件 链接文件
建立软链接使用格式:
ln -s 源文件 链接文件
(13)查看或者合并文件内容:cat
cat 1.c
aaa
bbb
ccc
cat 2.c
111
222
333
cat 1.c 2.c > 3.c
cat 3.c
aaa
bbb
ccc
111
222
333
(14)文本搜索:grep
1.ctrl+f也是搜索关键词的作用
2.grap 关键词 文件夹 -i/in/inv
注释:在文件夹中检索关键词
"-i"则是取消大小写的限制
“in”是增加了原本的行数
“inv"是取原文件夹中没有提示词的内容,也叫取反
对有空格的内容,比如【1 2 3】, 则直接在grep后面加上引号或者双引号,就可以了
(15)查找文件:find
//查找当前目录下所有名为test.txt 的文件
find ./ -name test.txt
//查找当前目录下所有后缀为.sh 的文件
find ./ -name '*.sh'
//查找当前目录下所有以大写字母开头的文件
find ./ -name "[A - Z]"
(16)拷贝文件:cp
//复制一个文件
cp filel file2
//递归复制一个目录:
cp -r directory1 directory2
//覆盖一个现有文件:
cp -f filel file2
//保留文件属性:
cp a filel file2
//提示用户确认:
cp -i file1 file2
//显示拷贝进度
cp -v file1 file2
(17)移动文件:mv
-f //覆盖一个现有文件
-i //用户确认
-v //显示移动进度
//移动1.c到上一个路径
mv 1.c ../
//在/后面加上名称等于移动完后重命名
mc 1.c/2.c
(18)获取文件类型:file
使用格式:
file+文件名
(19)归档管理:tar
1).分布进行:
先打包或者解包,然后压缩或者解压
c是打包
x是解包
v是查看当前进度
f一定要在最后
*表示所有文件,或者一个个文件名打进去,要用/隔开
tar -cvf 1.c*
·tar只负责打包、解包,不进行压缩
打包:tar -cvf xxx.tar // 需要打包的文件
解包:tar-xvf xxx.tar // 不指定路径,默认在当前路径解包(若是不想在当前路径,可以采用move)指定目录解包:tar -xvf xxx.tar -C (填要移动的文件) 指定路径目录
2).如何查看某个目录大小:du ./目录 -h
* `-a` 或 `--all`:显示目录中个别文件的大小
* `-b` 或 `--bytes`:显示目录或文件大小时,以 byte 为单位
* `-s` 或 `--summarize`:仅显示总计,只列出最后加总的值
* `-h` 或 `--human-readable`:以 K,M,G 为单位,提高信息的可读性
du -sh
5.6G
du -ah
4.0K ./1.c
16K ./2.out
16K ./boat
3).gzip压缩tar包
3.gzip压缩tar包
压缩:gzip xxx.tar //自动在当前目录生成:xxx.tar.gz
gzip [-r] xxx.tar xxx.tar.gz 用[-r]需要在后面加上xxx.tar.gz
解压:gzip [-d] xxx.tar xxx.tar.gz
4).一步到位
tar 这个命令并没有压缩的功能,它只是一个打包的命令
但是在 tar命令中(-z)可增加一个选项以调用 gzip,实现了一个压缩的功能
实行一个先打包后压缩的过程
压缩打包:tar -czvf xxx.tar.gz 所需文件
解压解包:tar -xzvf xxx.tar.gz
压缩打包: tar -cjvf xxx.t.bz2 所需文件
解压解包: tar -xjvf xxx.t.bz2
5).文件压缩解压:zip、unzip
要求:此处有1.txt 2.txt,我要求打包到myzip中
zip -r myzip(我指定的文件) *.*(此处指的是所有带点的文件)
myzip.zip
unzip -d text(指的是当前路径) myzip.zip(指的还是我所要压缩的文件)
(20)查看命令位置:which
which+文件名
which+ls
3.系统管理
(1)显示日期:cal
cal
八月 2024
日 一 二 三 四 五 六
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
cal -y
2024
一月 二月 三月
日 一 二 三 四 五 六 日 一 二 三 四 五 六 日 一 二 三 四 五 六
1 2 3 4 5 6 1 2 3 1 2
7 8 9 10 11 12 13 4 5 6 7 8 9 10 3 4 5 6 7 8 9
14 15 16 17 18 19 20 11 12 13 14 15 16 17 10 11 12 13 14 15 16
21 22 23 24 25 26 27 18 19 20 21 22 23 24 17 18 19 20 21 22 23
28 29 30 31 25 26 27 28 29 24 25 26 27 28 29 30
31
~~十二月
(2)显示或设置时心:date
date
2024年 08月 14日 星期三 18:17:53 CST
(3)查看进程信息:ps
使用格式:
ps -aux
-a //显示终端上的所有进程,包括其他用户的进程
-u //显示进程的详细状态
-x //显示没有控制终端的进程
-w //显示加宽,以便显示更多信息
-r //只显示正在运行的进程
(4)动态显示进程:
top(可以仿效ps,但平时是静态,top是动态)
(5)终止进程:kill
ps -aux
root 5898 0.0 0.0 0 0 ? I 18:42 0:00 [kworker/2:0-
root 5925 0.0 0.0 0 0 ? I 18:47 0:00 [kworker/u256
root 5928 0.4 0.0 0 0 ? I 18:48 0:00 [kworker/2:1-
lqb 5930 0.0 0.0 16040 3712 pts/1 R+ 18:48 0:00 ps -aux
//程序名是 上面
使用格式:kill 程序名
输入:kill 5930
swrast
输出:已停止
使用格式:kill -9 程序名(效果更强)
输入:kill -9 5930
gedit lqb
输出:已杀死
(6)后台程序:&、jobs、fg
输入:sleep 10086 &
输出:[1]6060
#按下”ctrl+z“
#在终端输入bg
输入:bg
输出:任务1已在后台运行
//使用nohup的方式后台运行进程
nohup sleep 6060 &
//查看后台运行的程序
jobs -l
//将后台运行的程序转到前台运行(fg)
#查看进程编号
jobs
#将1号后台运行的进程转到前台运行
fg 1
//不指定编号,默认将编号最大的进程转到前台运行
fg
(7)关机重启:reboot、shutdow..
reboot //重新启动操作系统
shutdown -h now //立刻关机,其中now相当于时间为0的状态
init 0 //关机
init 6 //重启
(8)字符界面和图形界面切换
(9)检测磁盘空间:df
方法格式:
df -h 文件名
输入:df -h 桌面
输出:
文件系统 大小 已用 可用 已用% 挂载点
/dev/sda3 20G 13G 5.3G 71% /
输入:df -h /桌面/3.c/
输出:
文件系统 大小 已用 可用 已用% 挂载点
/dev/sda3 20G 13G 5.3G 71% /
//此处则是想要查看里面share(目录)大小,但输入df只能看到share所属的硬盘大小
(10)检测目录所占磁盘空间:du
查看某个目录或者文件的大小
// -a 递归显示文件或目录中文件占用的数据块
// -s 显示文件或目录占用的数据库
// -b 以字节为单位显示磁盘占用情况
// -h 人性化
方法格式:
du [选项] 目录或文件名
输入:du -h 1.c
输出:
4.0k 1.c
(11)应用软件安装和卸载
(12)查看或配置网卡信息:ifconfi...
输入ifconfi则会显示所有网卡的信息
eth0 网络接口名称
Link encaP 链接封装协议
Hwa ddr 网络接口的 MAC 地址
Inet addr IP 地址
Bcast 广播地址
Mask 子网掩码
(13)测试远程主机连通性:ping
使用方法:ping+地址
可以两个地址都测试一下
(14)网络路由设置:route
(15)监控网络状态:netstat