linux指令基础学习

2 篇文章 0 订阅
2 篇文章 0 订阅

Linux常用命令

  • 命令基本格式
  • 文件处理命令
  • 文件搜索命令
  • 帮助命令
  • 压缩与解压命令
  • 关机和重启命令
  • 其他常用命令

一、命令基式本格式


命令提示符

[root@localhost~]:

其中:

  • root: 当前登陆用户
  • localhost: 主机名
    当前所在目录(家目录)
    $ 普通用户的提示符

命令格式:

命令 [选项] [参数]

注意:

个别命令使用不遵循此格式
当有多个选项时,可以写在一起
简化选项与完整选项
-a等于--all

显示说明:

使用ls -l命令打印文件的详细信息

[root@localhost~]:ls -l
-rw-r–r--. 1 root root 3827 1月 24 01:22 install.log.syslog


其中的r、w、x分别表示可读,可写,可执行

-rw-r–r--

输出结果中第一个符号‘-’是字符串表示的是文件类型。

之后的九个符号分为三组每个三个,分别代表可读、可写和可执行,和各个所有者的使用权限。
每一组又分别代表一个操作者,这些操作者可以为:
u所有者 g所属组 o其他人	

-rw-r–r--
此处的意思是:
该文件为文件,
所有者,可以读写,
所有组可读
其他人可读。
->’-'文件类型(- 文件 d 目录 l 软链接文件)
->rw- r–r--
u所有者 g所属组o其他人
r读 w写x执行


“1”:引用计数(文件被调用过几次)
第一个“root”所有者,第二个“root”所属组
u所有者 g所属组o其他人
“1月 24 01:22”:最后一次修改时间
install.log.syslog:文件名


‘.’开头的文件是隐藏文件
隐藏文件不可以轻易查到(避免误操作)



命令一

查询目录中内容:ls


命令格式:
ls [选项] [文件或目录]

选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-d 查看目录属性

实例:

[root@localhost ~]# ls -ld /etc/
drwxr-xr-x. 72 root root 4096 1月  24 02:33 /etc/
[root@localhost ~]# 

-h 人性化显示文件大小
-i 显示inode(id号/i节点)


3硬件设备文件名

|硬件| 设备文件名|
| ------------- 😐:-------------😐
| IDE硬盘| /dev/hd[a-d] |
| ICSI/SATA/USB硬盘|/dev/sd[a-p]|
| 光驱| /dev/cdrom或/dev/hdc|
| 软盘 |/dev/fd[0-1]|
| 打印机(25针) |/dev/lp[0-2]|
| 打印机(USB) |/dev/usb/lp[0-15]|
| 鼠标 |/dev/mouse|
·相对路径:参照当前所在目录,进行查找

如:[root@imooc ~]# cd …/usr/local/src/

·绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置

如:[root@imooc ~]# cd /etc/


快捷键

	tab键:命令补齐,文件名查看。
	ctrl+l:清屏

##二、文件处理命令


  • 目录处理命令
  • 文件处理命令
  • 链接处理命令

###1.目录文件处理命令:
####1.建立目录:mkdir

·mkdir -p [目录名]

-p 递归创建(先建立上级目录在创建子目录)

命令英文原意:make directiories

例: mkdir -p dv/dvd

[root@localhost ~]# mkdir -p dv/dvd
[root@localhost ~]# ls -lh
总用量 28K
-rw-------. 1 root root  975 1月  24 01:25 anaconda-ks.cfg
drwxr-xr-x. 3 root root 4.0K 1月  24 03:47 dv
-rw-r--r--. 1 root root  13K 1月  24 01:25 install.log
-rw-r--r--. 1 root root 3.8K 1月  24 01:22 install.log.syslog
-rw-r--r--. 1 root root    0 1月  24 02:05 Virtual
[root@localhost ~]# ls -ld
dr-xr-x---. 3 root root 4096 1月  24 03:47 .
[root@localhost ~]# ls -ld dv
drwxr-xr-x. 3 root root 4096 1月  24 03:47 dv
[root@localhost ~]# ls -l dv
总用量 4
drwxr-xr-x. 2 root root 4096 1月  24 03:47 dvd
[root@localhost ~]# 

####2.切换目录:cd

·cd[目录]
命令英文原意:changen directory

######简化操作
cd~ 进入当前用户的家目录
cd
cd - 进入上次目录
cd … 进入上一级目录
cd . 进入当前目录
cd / 进入根目录


补充快捷键;

tab键:命令补齐,文件名查看。(按两次;列出所有命令)
pwd:显示当前所在路径

相对路径:

参照当前所在目录,进行查找(进入上一级目录再进入…之后的路径)

[root@localhost ~]# cd ../user/local/src/

·绝对路径:

从根目录开始指定,一级一级递归查找。
在任何目录下,都能进入指定位置
[root@localhost ~]# cd /etc/

####3.查询所在目录位置:pwd
·pwd 命令英文原意:printworking directory
####4.删除空目录:rmdir

·rmdir[目录名]
命令英文原意:remove empty directories
//只能删除空目录 rmdir /lols

删除文件或目录:rm
·rm -rf [文件或目录]
命令英文原意:remove
选项:

-r 删除目录
-f 强制

[root@localhost ~]# rm -rf 

这条指令删除掉根目录下的所有文件相当于让linux自杀,但不影响其系统的正常运行,他会执行的 (绝对不能执行)

linux的格式化是真正的格式化


####5.复制命令:cp

·cp [选项] [原文件或目录] [目标目录]

命令英文原意:copy

选项:

-r 复制目录
-p 连带文件属性复制
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr

文件复制:

原名复制

[root@localhost ~]# cp anaconda-ks.cfg /tmp

改名复制

[root@localhost ~]# cp anaconda-ks.cfg /tmp/nihao

目录复制时,在cp和anaconda-ks.cfg /tmp 之间加-r


####6.剪切或改名命令:mv

·mv [原文件或目录][目标目录]

命令英文原意:move

原文件或目录:若是文件直接写名字

若是目录例如: dv1目录,应写为dv1/

目标目录:/ddd/ddd


##三、常用目录的作用


根下的目录:

[root@localhost ~]# cd /
[root@localhost /]# ls
bin dev home lib64 media opt root selinux sys usr
boot etc lib lost+found mnt proc sbin srv tmp var

文件列表

文件名称含义
·/根目录
·/bin命令保存目录(普通用户就可以读取的命令)
·/dev设备文件保存目录
·/home普通用户的家目录
·/lib系统保存目录(函数库)
·/media挂载目录
·/boot启动命令,启动相关文件
·/etc配置文件保存目录
·/mnt系统挂载目录
·/root超级用户的家目录
·/tmp临时目录
·/sbin命令保存目录(超级用户使用的目录)
·/proc直接写入内存的
·/sys系统
·/usr系统软件资源目录
/usr/bin/系统命令(普通用户)
/usr/sbin/系统命令(超级用户)
·/var系统相关文档内容

根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令的

proc和sys目录不能直接操作,这两个目录保存的是内存的挂载点。


####链接处理命令


·ln -s [原文件] [目标文件]

·命令英文:link

  • 列表内容

     功能描述:生成链接文件
     选项:-s 创建软连接
    

####硬链接特征(不建议创建硬链接):
1、拥有相同的i节点和存储block块,可以看做是同一个文件
(一个文件两个不同的接口,删除其中一个只要另一个还存在,就可以访问该文件)
2、可通过i节点识别
3、不能夸分区
4、不能针对目录使用

创建的硬链接和原文件其中任何一个文件的变化,两个文件的内容都将变化


	使用命令: 
	vi:打开文件
	wq:退出并保存文件
	echo:写入命令()   将1111写入/tmp/ddd并回车换行  
		 echo 1111 >> /tmp/ddd
	命令1>>文件:将命令1的结果写入文件
	cat:查看文件命令   cat /tmp/
	touch:创建命令 touch csh

###软链接特征:
1、类似Windows快捷方式
2、软链接拥有自己的I节点和Block块,但是数据块block中只保存原文件的文件名和I节点号,并没有实际的文件数据。
3、Irwxrwxrwx I软链接
软链接文件权限都为rwxrwxrwx
4、修改任意文件,另一个都更改
5、删除源文件软链接不能使用。

注意:创建软链接,原文件一定要写绝对路径 不然,源文件和目标文件必须在同一个目录下才能找到
(即:若在root目录下创建sb文件,之后再tmp目录下创建相应的软链接这样写软链接是会报错的

touch sb
ln -s sb /tmp

正确的写法应该是:

touch sb
ln -s root/sb /tmp

##三、文件搜索命令


  • 文件搜索命令locate

  • 命令搜索命令whereis与which

  • 文件搜索命令find

  • 字符串搜索命令grep

  • find命令与grep命令的区别

  • locate命令格式(只能按文件名搜索)

  • locate 文件名
    在后台数据库中按文件名搜索,搜索速度更快

  • /var/lib/mlocate
    #locate命令所搜索的后台数据库
    ·updatadb
    更新数据库
    数据库
    补充:新创建的文件使用locate命令搜不出来是因为,locate命令搜索的是数据库,想要搜到新建的文件两种方式:

1、等待第二天数据库自动更新。

2、使用updatedb命令强制更新

搜索命令遵循/etc/updatedb.conf配置文件的限制

###PRUNE_BIND_MOUNTS=“yes”
开启搜索限制

###PRUNEFS=

搜索时,不搜索的文件系统

###PRUNENAMES=

搜索时,不搜索的文件类型

###PRUNEPATHS=
搜索时,不搜索的路径


[root@localhost ~]# ls
anaconda-ks.cfg canglsinstall.log install.log.syslog
[root@localhost ~]# touch /tmp/cangls
[root@localhost ~]# updatedb
[root@localhost ~]# locate cangls
/root/cangls
[root@localhost ~]# vi /etc/updatedb.conf

·搜索命令的命令whereis与which
· whereis 命令
###搜索命令所在路径及帮助文档所在位置(只能查系统命令)
选项:

-b: 只查找可执行文件
-m: 只查找帮助文件


补充:
[root@localhost ~]# ls
csb install.loginstall.log.syslogsb
[root@localhost ~]# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.l.gz /usr/share/man/manlp/ls.lp.gz
[root@localhost ~]# whoami
root
想要知道某条命令是干嘛的用whatis 命令

[root@localhost ~]# whatis ls
ls (1) - list directory contents
ls (lp) - list directory contents

·搜索命令的命令which
· which 文件名
###搜索命令所在路径及别名
cd命令是shell自带的命令,不能用whereis和which查找(只能找到帮助文档,找不到可执行文件)
###PATH环境变量
·PATH环境变量:定义的是系统搜索命令的路径

[root@localhost ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binn:/root/bin

·find命令
·find [搜索范围] [搜索条件]
#搜文件
·find / -name install.log
###避免大范围搜索,会非常耗费系统资源
###find是在系统当中搜索符合条件的文件名。如果需要匹配,使用通配符匹配,通配符是完全匹配

[root@localhost ~]# find / -name install.log
/root/install.log

linux中的通配符

* 匹配任意内容
? 匹配人一个字符
[] 匹配任意一个中括号内的字符

[root@localhost ~]# find /root -name "install.log*"
/root/install.log
/root/install.log.syslog

·find /root -iname install.log
###不区分大小写
·find /root -user root
###按照所有者搜索
·find /root -nouser
###查找没有所有者的文件
内核产生的文件无所有者例如proc 和sys
外来文件也无所有者
·find /var/log/ -mtime +10
(默认按天进行修改)
###查询10天前修改的文件

-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件

atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容

|___________|___|
10天前 10天当天 10天内当前时间
·find . -size 25k(“.”:当前目录)


默认单位是块(非分区数据块)
按千字节用小写的k,
find . -size 25k
按兆字节用大写的M
find . -size 2M


###查找文件大小是25KB的文件
-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
·find . -inum 262422
查找i节点是262422的文件
·find /etc -size +20k -a -size -50k
查找/etc/目录下,大于20KB并且小于50KB的文件
-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可
·find /etc -size +20k -a -size -50k -exec ls -lh {} ;
查找/etc/目录下,大于20kb并且小于50科比并且小于50kb的文件,并显示详细信息
-exec/-ok 命令{};对搜索结果执行操作(形式:-exec +可以处理第一条收缩命令的结果的命令+ {} ;)
·字符串搜索命令grep
搜索字符串命令grep
·grep [选项] 字符串 文件名
###在文件当中匹配符合条件的字符串
选项:

-i 忽略大小写
-v 排除指定的字符串

[root@localhost ~]# grep "size" install.log 

·find命令与grep命令的区别

  • find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。

  • grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配


##四、帮助命令


  • 帮助命令man
  • 其他帮助命令
  • 帮助命令man
    ###获取指令命令的帮助

例如:

 man ls

####查看ls的帮助

man - format and display the on-line manual pages

NAME
SYNOPSIS
DESCRIPTION
:后输入/-d进行定位(按n键找下一个,shift找上一个)
man的级别

man的级别
1 :查看命令的帮助
2 :查看可被内核调用的函数的帮助
3 :查看函数和函数库的帮助
4 :查看特殊文件的帮助(主要是/dev目录下的文件)
5 :查看配置文件的帮助
6 :查看游戏的帮助
7 :查看其他杂项的帮助
8 :查看系统管理员可用命令的帮助
9 :查看和内核相关文件的帮助

查看命令拥有那个级别的帮助

· man -f 命令相当于 · whatis命令

举例:

· man -5 passwd
· man -4 null
· man -8 ifconfig
man 1 passwd
man 5 passwd

查看和命令相关的所有帮助

·man -k 命令

相当于

·apropos 命令

例如:

·apropos passwd

·选项帮助

·命令 --help

#获取命令选项的帮助
例如:

ls --help

· help shell内部命令帮助(linux命令解释器:shell)

help 只能获取内部命令的帮助集

###获取shell内部命令的帮助
例如:

#确定是否是shell内部命令

 whereis cd 

找的到可执行文件的位置,就是后安装的,不然就是shell自带的
#获取内部命令帮助

 help cd
info命令
-回车: 进入子帮助页面(带有*号标记)
-u: 进入上层页面
-n: 进入下一个帮助小节
-p: 进入上一个帮助小节
-q: 退出

总结:

man --help help info

##五、压缩与解压命令


windows中的.rar在linux中不能解压缩

·常用压缩格式:.zip .gz .bz2
·常用压缩格式:.tar.gz.tar.bz2

1、常用压缩格式:.zip .gz .bz2

·.zip格式压缩(zip格式在windows和linux中通用)
·zip 压缩文件名 源文件

####压缩文件

·zip -r 压缩文件名 源目录

####压缩目录
在linux中压缩文件红颜色显示
·.zip格式解压缩
·unzip 压缩文件名
####解压缩.zip文件

·.gz格式压缩
·gzip 原文件

####压缩为.gz格式的压缩文件,源文件会消失

·gzip -c 原文件 > 压缩文件

#压缩为.gz格式,原文件保留
例如:

gzip -c 源文件 >压缩文件名
·gzip -r 目录

####压缩目录下的所有的子文件,但那时不能压缩目录
####将目录中的子文件依次压缩,目录不进行压缩,不会进行打包,变成一个整个的文件


###补充命令:

命令 > 文件名
作用将命令的结果写入指定文件

·.gz格式解压缩
·gzip -d 压缩文件

####解压缩文件
·gunzip 压缩文件

####解压缩文件

·.bz2格式压缩
·bzip2 源文件

####压缩为.bz2格式,不保留原文件。
·bzip2 -k 源文件

####压缩之后保留原文件
·bzip2命令不能压缩目录
·.bz2格式解压缩
·bzip2 -d 压缩文件

####解压缩,-k保留压缩文件

·bunzip2 压缩文件 

####解压缩,-k保留压缩文件
2、常用压缩格式(通过先打包再压缩的方法解决gz和bz2不能压缩目录的弊端):.tar.gz.tar.bz2
打包命令tar

·tar -cvf 打包文件名 源文件

  • 选项:

     -c:打包
     -v:显示过程
     -f:指定打包后的文件名
    

例如:

tar -cvf inll.tar inll

解打包命令

·tar -xvf 打包文件名

·选项:

-x :解打包

例如:

[root@localhost test]# ls
dill  dill.tar  inl2.bz2  inl3  inl3.bz2  inll.gz  inll.zip  ni
[root@localhost test]# tar -xvf dill.tar
dill/
dill/tj
dill/ti
[root@localhost test]#

.tar.gz压缩格式

·其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式

·tar -zcvf 压缩包名.tar.gz 源文件

·选项:

-z:压缩为.tar.gz格式

·tar -zxvf 压缩包名.tar.gz

·选项:

-x:解压缩.tar.gz格式

.tar.bz2压缩格式
·tar -jcvf 压缩包名.tar.bz2 源文件

·选项:

-z:压缩为.tar.bz2格式压缩

·tar -jxvf 压缩包名.tar.bz2

·选项:

-x:解压缩.tar.bz2格式

-C指定解压缩位置
例如:

tar -jxvf dill.tar.bz2 -C /tmp/

[root@localhost test]# tar -jcvf dill.tar.bz2 dill
dill/
dill/tj
dill/ti
[root@localhost test]# ls
dill  dill.tar.bz2  inl2  inl3  inll  ni
[root@localhost test]# tar -zcvf dill.tar.gz dill
dill/
dill/tj
dill/ti
[root@localhost test]# ls
dill  dill.tar.bz2  dill.tar.gz  inl2  inl3  inll  ni
[root@localhost test]# tar jxvf dill.tar.bz2 -C /tmp
dill/
dill/tj
dill/ti
[root@localhost test]# ls /tmp
dill  yum.log
[root@localhost test]# tar -zxvf dill
dill/         dill.tar.bz2  dill.tar.gz   
[root@localhost test]# tar -zxvf dill.tar.gz -C /root
dill/
dill/tj
dill/ti
[root@localhost test]# ls
dill  dill.tar.bz2  dill.tar.gz  inl2  inl3  inll  ni
[root@localhost test]# ls root
ls: 无法访问root: 没有那个文件或目录
[root@localhost test]# ls /root
anaconda-ks.cfg  dill  install.log  install.log.syslog  test

·压缩多个文件:
tar -jcvf

压缩好的文件要放的路径/压缩文件名.tar.bz2 源文件1 源文件2 · · ·

tar -zcvf

压缩好的文件要放的路径/压缩文件名.tar.gz 源文件1 源文件2 · · ·

源文件用空格隔开
·查看压缩文件中的内容,但不解压
tar -jtvf 压缩好的文件要放的路径/压缩文件名.tar.bz2
tar -ztvf 压缩好的文件要放的路径/压缩文件名.tar.gz


##六、关机和重启命令


###1、shutdown命令

shutdown [选项] 时间

选项:

-c:取消前一个关机命令
-h:关机
-r:重启

date:查看当前系统时间
ctrl + c:终止退出
&: 将当前操作放入后台执行,不占用当前的操作终端。


shutdown -r 时间
标准:shutdown -r now
shutdown -h now
这时,将无法操作
按下ctrl+c终止退出
shutdown -r 时间 &
shutdown -c 取消上一重启或关机命令
服务器:不能远程关机
###2、其他关机命令(都不太安全)
halt
poweroff
init 0
###3、其他重启命令
reboot(相对安全)
init 6
###4、系统运行级别

级别状态
0关机
1单用户(相当于windows的安全模式,进行系统修复。例如忘记密码… 注意此时就算装了图形界面也不会运行,运行最小程序)
2不完全多用户,不含NFS服务(NFS:文件共享服务)
3完全多用户(现在使用)
4未分配
5图形界面
6重启

通过init n的方式进行系统运行级别的切换

cat /etc/inittab

####修复系统默认运行级别

id:3:initdefault:

[root@localhost~]# runlevel
N 3

####查询系统运行界别 其中N代表进入该级别前的级别,3代表当前级别
“X”大写的X代表图形界面
###5、退出登陆命令
logout
释放远程登录终端号
允许其他设备登陆


##七、其他常用命令


  • 挂载命令 ·用户登录查看和用户交互命令

  • 挂载命令


设备挂载之后才能使用 linux中使用U盘等外来设备时,要进行挂载
windows自动挂载(分配盘符)
###1、查询与自动挂载

·[root@localhost ~]# mount

·#查询系统中已经挂载的设备

·[root@localhost ~]# mount -a

·#依据配置文件/etc/fstab的内容,自动挂载
U盘和光盘不建议设置为开机自动挂载,因为,不能保证每次开机光驱中的光盘和U盘都在,当系统检测到没有时,他会崩溃

###2、挂载命令格式

·[root@localhost ~]# mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点

·选项:

-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660(光盘的默认文件系统是iso9660)等文件系统
-o 特殊选项:可以指定挂载的额外选项
特殊选项


参数说明
atime/noatime更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新
async/sync异步/同步,默认为异步
auto/noauto自动/手动,mount -a命令执行时,是否会自动安装/etc/fstab文件内容挂载,默认为自动。
defaults定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项
exec/noexec执行/不执行,设定是否允许在文件系统中执行可执行文件,默认为exec允许
remount重新挂载一挂载的文件系统,一般用于指定修改特殊权限
rw/ro读写/只读,文件系统挂载时,是否具有读写权限,默认是rw
suid/nosuid具有/不具有SUID权限,设定文件系统是否具有SUID和SGID的权限,默认是具有
user/nouser允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许,只有root可以挂载分区
userquota写入代表文件系统支持用户磁盘配额,默认不支持
grpquota写入代表文件系统支持组磁盘配额,默认不支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尹振坤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值