linux基本指令

linux学习

1. Linux 系统目录结构

在这里插入图片描述
在这里插入图片描述
对这些目录的解释:

  • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
  • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
  • /dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
  • /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。
  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /srv:该目录存放一些服务启动之后需要提取的数据。
  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
  • /tmp:这个目录是用来存放一些临时文件的。
  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  • /usr/bin: 系统用户使用的应用程序。
  • /usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
  • /usr/src: 内核源代码默认的放置目录。
  • /var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

2. 基本指令

命令格式:

command [-options] [parameter]

说明:

  • command:命令
  • [-options]:选项
  • [parameter]:参数
command --help #查看帮助

(1) cd 切换文件夹

cd [相对路径或绝对路径]
cd /home  	#绝对路径,以根目录开头
cd admin  	#相对路径,不以根目录开头
cd ..    	#返回上级目录
cd /        #回到根目录
cd ~	 	#回自己家	
cd -     	#回看

pwd         #查看当前目录

(2) ls 查看目录内容

ls 
ls -l       #显示详细列表,包含文件的属性与权限等等数据
ls -lh		#把文件大小以人性化的方式显示,即以M为单位
ls -a		#显示所有的文件,包括隐藏文件(以.开头的文件)
ll 			#等价于ls -l
ls *txt     #查看当前目录下所有以txt结尾的文件
ls  /       #查看根目录内容,ls后面可以加任意指定目录

#参数可以组合使用

(3) mkdir 创建文件夹

mkdir [-mp] 目录名称  #新建文件夹
mkdir tupian             #在当前目录下创建tupian文件夹
mkdir /root/tupian       #以绝对路径创建tupian文件夹
mkdir -p  aaa/bbb/ccc    #加上这个 -p 的选项,创建多层目录!
mkdir a b		 #在当前目录创建多个文件夹
mkdir a/{c,d}	 #在指定目录下创建多个文件夹
mkdir .adc		 #以.开头,创建隐藏文件夹

选项与参数:

  • **-p :**多级目录

(4) touch 创建文件

touch 文件名  #新建文件
touch abc.txt   #在当前目录下创建abc.txt文件,如果指定了目录,必须保证上级目录存在
touch .abc      #创建隐藏文件

(5) rm/rmdir 删除文件/文件夹

rmdir [-p] 目录名称

rmdir a         #只能删除空的文件夹
rmdir -p a/b/c  #删除多级文件夹,也只能删除空的目录

选项与参数:

  • -p : 连同上一级『空的』目录也一起删除
rm [-fir] 文件或目录

rm abc.txt          #删除文件
rm a.txt b.txt      #删除多个文件
rm  *        #删除当前目录下所有文件,文件夹和隐藏文件删不掉
rm -r a    #删除文件夹a内的所有文件和文件夹,可以删除多级,会询问,隐藏文件删不掉
rm .a       #隐藏文件只能指定删除

rm -rf /  #删库跑路

选项与参数:

  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
  • -i :互动模式,在删除前会询问使用者是否动作
  • -r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!

(6) 文件权限

ls -l       #显示详细列表,包含文件的属性与权限等等数据

在这里插入图片描述

第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。其他情况:

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档 ( link file );
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。

  • [ r ]代表可读(read)
  • [ w ]代表可写(write)
  • [ x ]代表可执行(execute)。

第一组指文件的拥有者权限,第二组代表文件拥有的组的权限,第三组代表其他用户权限。

(7) cp 拷贝或文件夹

cp [-adfilprsu] 源文件(source) 目标文件(destination)
cp 1.txt 2.txt   #在当前目录下复制文件1.txt并且命名为2.txt
cp -r abc  abc_copy   #复制文件夹

选项与参数:

  • -p: 连同文件的属性一起复制过去,而非使用默认属性(备份常用);

  • -r: 递归持续复制,用于目录的复制行为;(常用)

  • -f: 为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

  • -i: 若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

(8) mv 移动、重命名

mv [-fiu] source destination
#多级目录也可以移动
mv 1.txt 2.txt   #重命名
mv abc  a/abc_copy   #移动到指定目录,要保证指定目录是存在

选项与参数:

  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
  • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

(9) 重定向 >, >>

将命令执行结果重定向到一个文件,即本应该显示在终端上的内容保存到指定文件中。

ls > test.txt   #把ls应该显示的内容输出到test.txt文件中,如果test.txt不存在会自动创建
ls >> test.txt  # >>表示追加写,>表示覆盖写

(10) 查看文件内容

Linux系统中使用以下命令来查看文件的内容:

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示的时候,顺道输出行号
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,可以往前翻页!
  • head 只看头几行
  • tail 只看尾巴几行
cat 1.txt   #把文件内容显示到屏幕中,直接显示到最后一行
cat 1.txt 2.txt  #把两个文件内容显示到屏幕中
cat 1.txt 2.txt > 3.txt  #把两个文件内容合并到新的文件中
more  1.txt   #文件内容很多时,用more查看

#空格:代表向下翻一页
#回车:代表向下翻一行,翻到末尾就退出了
#b:往回翻一页
#q:退出
# /字串:代表在这个显示的内容当中,向下搜寻『字串』这个关键字;

(11) 管道

| 概念:一个命令的输出可以通过管道作为另一个命令的输出。

 ls -l / | more   #把左边的命令返回的结果交给右边命令进行处理

(12) 软链接

概念:符号连接(Symbolic Link),也叫软连接。类似于 Windows 的快捷方式。

  • 文件实际上是一个文本文件,其中包含的有另一文件的位置信息。文件大小跟源文件不一样

  • A 和 B 之间是“主从”关系,如果 B 被删除了,A 仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

  • 可以给目录创建软链接

ln -s 1.txt  1_link    #给1.txt在当前目录创建一个软链接
ln -s 1.txt  ~/1_link  #给1.txt在指定目录创建软链接,如果源文件不写绝对路径,软链接指向的文件是不存						在的,因为软链接就记住了文件名

在这里插入图片描述

(13) 硬链接

  • 在 Linux 的文件系统中,保存在磁盘分区中的文件都会被分配一个索引节点号(Inode Index)。

  • 硬连接指通过索引节点来进行连接。本身占空间,相当于把源文件复制一份,与源文件同步变化

  • 如果A 是 B 的硬链接(A 和 B 都是文件名),则一个 inode 节点对应两个不同的文件名,两个文件名指向同一个文件,A 和 B 对文件系统来说是完全平等的。删除其中任何一个都不会影响另外一个的访问。

  • 硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。

  • 使用ll指令查看时,有一个数字,代表有几个文件能同步发生变化

  • 不能给目录创建硬链接!

ln 1.txt  1_link    #给1.txt在当前目录创建一个硬链接

在这里插入图片描述

(14) grep 文本搜索

grep hello test.txt     #在某个文件中查找包含hello的内容,只要有一行有hello就会把整行显示
grep -niv hellotest.txt  #-n 显示行号; -i:不区分大小学; -v:反向查找
grep -n hello /home/admin -r  # 查找整个目录中的所有文件,包含hello的内容

(15) find 查找文件

find . -name 2.txt   #  在当前目录下查找名字为2.txt的文件,返回路径
find ~ -name '*txt'    # 在家目录下查找以txt结尾的文件

(16) tar 归档管理

tar命令的参数前可以省略 “-”

tar 打包

常用参数:

  • -c: 生成档案文件,创建打包文件
  • -v:列出归档解档的详细过程,显示进度
  • -f:指定档案文件名,必须放在最后,f后面第一个参数代表要生产的文件名,后面所有的参数是要打包的文件
  • -t:列出档案中包含的文件
  • -x:解开档案文件
tar cvf a.tar 1.txt 2.txt   #将文件1.txt和2.txt打包成文件,名为a.tar
tar tf a.tar     #将a.tar包下的内容列出来
tar xvf a.tar    #解压a.tar包到当前路径下
tar xvf a.tar -C tar  #解压a.tar包到指定文件夹tar中,指定文件夹必须是存在的,不会自动创建

在这里插入图片描述

(17) gzip 文件压缩解压

  • -d: 解压,生产*.tar文件

  • -r:压缩所有子目录,生产*.tar.gz文件

gzip -r a.tar  		#压缩
gzip -d a.tar.gz    #解压

在这里插入图片描述

  • 一步到位压缩和解压:
tar czf b.tar.gz *txt    #把所有txt文件打包并且压缩生成b.tar.gz文件
tar zxf b.tar.gz *txt -C tar  #解压b.tar.gz到指定文件夹tar中

其他压缩解压方式:

  • bzip2:
tar jcf j.tar.bz2 *txt       #压缩
tar xjf j.tar.bz2 -C jtar    #解压
  • zip:
zip -r zz *txt       #zz代表要生成的压缩文件,不要写扩展名,会自动生成zip的扩展名
unzip -d zz zz.zip   #解压时创建目录

压缩率:zip < gzip < bzip2

通用性:zip > gzip > bzip2

(19) which 查找命令在哪里

which ll  #查找ll命令在哪里

在这里插入图片描述

(20) chmod 修改文件权限

  • 字母法:

    chmod u/g/o/a +/-/=  rwx-  文件名
    
    • u:user表示该文件的所有者

    • g:group表示用户组

    • o:other表示以外的人

    • a:all表示所有用户

    • +:增加权限

    • -:减少权限

    • =:直接赋值为新的权限

  • 数字法:

    • r:4,w:2,x:1,-:0
    chmod 777 test.txt
    

(21) vi/vim编辑器

三种模式:命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode

  1. 命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

  1. 输入模式:

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式
  1. 底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式。

3. 用户管理

(1) 添加账号 useradd

useradd 选项 用户名

参数说明:

  • 选项 :

    • -c comment 指定一段注释性描述。
    • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
    • -g 用户组 指定用户所属的用户组。
    • -G 用户组,用户组 指定用户所属的附加组。
    • -m 使用者目录如不存在则自动建立。比如/home/kongx
    • -s Shell文件 指定用户的登录Shell。
    • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
  • 用户名 :

    • 指定新账号的登录名。

(2) su 切换用户

su   #切换到root用户
su 用户名  #切换到指定用户

(3) userdel 删除用户

userdel 选项 用户名

常用的选项是 -r,它的作用是把用户的主目录一起删除。

(4) usermod 修改用户属性

usermod 选项 用户名

常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。

(5) passwd 用户口令

passwd 选项 用户名

可使用的选项:

  • -l 锁定口令,即禁用账号。
  • -u 口令解锁。
  • -d 使账号无口令。
  • -f 强迫用户下次登录时修改口令。

如果默认用户名,则修改当前用户的口令;如果是超级用户,可以指定任何用户的口令。

普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。

(6) who

查看当前登录的用户

pts代表一个终端

tty代表用户登录了操作系统

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值