Linux入门基础常用指令

操作系统:Centos7

在Linux系统中,用户都是使用指令来进行对应的操作,所以入门Linux首先就要从指令开始学习。

下面来介绍一下Linux中常用的基础指令

基础常用指令:

1,ls --- 查看文件

格式:ls -选项 文件/目录名

-a 列出目录中所有的文件,包括隐藏文件

-l 列出文件的详细信息

-R 列出所有子目录的文件,递归显示

-d 将目录像文件一样显示,而不是显示所有

2,touch/mkdir---创建文件和目录

格式:touch 文件名

格式:mkdir 目录名

mkdir递归创建多个目录:mkdir -p a/b/c/d

3,cd---进入目录

格式:cd 目录名

cd.. 返回上级路径

cd~ 进入用户家目录

cd - 返回最近路径

绝对路径和相对路径

绝对路径:从根目录开始一直到要进入的目录名的路径

举例:C:home/a/b/c/d... 这就是绝对路径

相对路径:要进入的目录是当前所在目录中

举例:现在所处的目录是a目录下

那么a目录下的b和c都处于a中,这个时候要进入b中的d目录,路径可以不用从根目录开始写起,直接写上cd b/c/d即可

4,rm/rmdir---删除文件/目录

格式:rm 选项 文件名

-f 强制删除,忽略不存在的文件,无需提示

-r 递归删除目录下的内容,删除文件夹时必须加此参数

-i 删除前逐一询问是否删除

格式:rmdir 选项 目录名

如果目录中有其他目录,则需要使用-p选项,递归删除

-p 递归删除

5,man---命令手册

在Linux中我们不可能记住每一个命令,所以有了man,我们可以使用man来查看相对的指令

格式:man 选项 命令

-k 根据关键字搜索联机帮助

num 只在第num章节找

-a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。

解释一下,面手册分为8章

1 是普通的命令

2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)

3 是库函数,如printf,fread4是特殊文件,也就是/dev下的各种设备文件

5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义

6 是给游戏留的,由各个游戏自己定义

7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明

8 是系统管理用的命令,这些命令只能由root使用,如ifconfi

6,cp---复制

格式: cp [选项] 源文件或目录 目标文件或目录(文件或者目录存在,即拷贝到该文件或者目录,如果不存在会创建一个)

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,

则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在

-i 或 --interactive 覆盖文件之前先询问用户

-r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理

-R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

7,mv---拷贝

格式:mv 选项 目录/文件地址 目标目录/文件地址

1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录), mv命令将文件重命名或将其移至一个新的目录中。

2. 当第二个参数类型是文件时, mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个, mv命令将各参数指定的源文件均移至

目标目录中。

常用选项

-f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖

8,cat/more---查看文件中的内容

格式:cat 选项 文件名

-b 对非空输出行编号

-n 对输出的所有行编号

-s 不输出多行空行

格式:more 选项 文件名

-n 对输出的所有行编号

q 退出more

9,less---搜索

格式:less 指定路线 文件名/目录名

10,head---显示文件开头或结尾的某个数量的文字区块

格式:head 参数 文件名

说明:head -n5 a.txt 显示a.txt从开头往后5行的文字

-n 显示的行数

11,tail--显示文件末尾多少行的文字区块

格式:tail 参数 文件名

说明:tail -n5 a.txt 显示a.txt从末尾处开始往前5行的文字

-n 显示的行数

12,时间相关的指令

01,date---显示时间

1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中常用的标记列表如下

%H : 小时(00..23)

%M : 分钟(00..59)

%S : 秒(00..61)

%X : 相当于 %H:%M:%S

%d : 日 (01..31)

%m : 月份 (01..12)

%Y : 完整年份 (0000..9999)

%F : 相当于 %Y-%m-%d

2.在设定时间方面

date -s //设置当前时间,只有root权限才能设置,其他只能查看。

date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00

date -s 01:01:01 //设置具体时间,不会对日期做更改

date -s “01:01:01 2008-05-23″ //这样可以设置全部时间

date -s “01:01:01 20080523″ //这样可以设置全部时间

date -s “2008-05-23 01:01:01″ //这样可以设置全部时间

date -s “20080523 01:01:01″ //这样可以设置全部时间

02,cal---显示日历

常用选项:

-3 显示系统前一个月,当前月,下一个月的月历

-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)

-y 显示当前年份的日历

03,时间戳

时间戳是从1970年1月1月午夜开始到现在的秒数

格式:date +%s

12,find---在文件树中查找文件并作出相应处理(可能访问磁盘)

格式:find 指定路径 文件名

13,which---查看指令所在目录

格式:which 指令

14,whereis---搜索指定的文档/程序

格式:whereis 文档/程序

15,alias---给特定的命令起别名

格式:alias 别名='命令'

举例:alias myls='ls -a -l -i'

16,grep---搜索字符串/文件

格式:grep 选项 '要搜索的文本' 文件名

选项:

-i:忽略大小写的不同,所以大小写视为相同

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

17,top---类似windows下的任务管理器

格式:top(输入q退出)

18,|---管道

格式:入口 | 出口

说明:管道是用来传输数据的

举例:cat a.txt | head -n5 | tail -n1

19,nano---Linux下的文本编辑器

格式:nano

x 退出

y 确认保存

20,>/>>---输出重定向

格式:文件名 > 文件名

说明:将原本输出到显示器上的文本重定向到其他文件(这里单个>会覆盖掉要重定向的文件)

举例:a.txt > b.txt

格式:文件名>>文件名

说明:将原本输出到显示器上的文本追加到其他文件(这里两个>>是在文件的末尾追加)

举例:b.txt >> c.txt

21,echo---在屏幕上输出任意文本

格式:echo 文本

说明:在输入echo 输入文本后 按下回车键就会在屏幕上输出刚才所输入的文本

22,wc---统计指定文件中的字节数、字数、行数,并将统计结果显示输出

格式:wc 文件名

23,打包/压缩/解压缩

zip---打包一个目录

格式:zip 选项 打包后的名字.zip 目录名

举例:zip -r test.zip test

说明:如果不加上选项 -r,默认打包目录,而不会将目录里面的东西打包,-r会将目录里面的东西递归打包

unzip---解压一个包

格式:unzip 压缩包名 -d指定路径

说明:如果unzip 压缩包后面不跟上路径,会默认解压到当前路径下

tar---打包,压缩,解包

格式:tar 选项 包名 目录名

选项:

-c :建立一个压缩文件的参数指令(create 的意思);

-x :解开一个压缩文件的参数指令!

-t :查看 tarfile 里面的文件!

-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?

-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?

-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

-C : 解压到指定目录

常用格式:1,打包并压缩:tar -czf 包名.tgz 目录名

2,解压缩:tar -xzf 包名 -C 指定目录

24,clear---清空屏幕

格式:clear

25,tree---以树形结构打印目录

格式:tree 目录名

26,bc---浮点运算

格式:运算表达式 bc

27,uname---Linux主机信息

格式:uname 选项

-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类

型,硬件平台类型,操作系统名称

28,常用的热键

[Tab]按键---具有『命令补全』和『档案补齐』的功能

[Ctrl]-c按键---让当前的程序『停掉』

[Ctrl]-d按键---通常代表着:『键盘输入结束(End Of File, EOF 戒 End OfInput)』的意思;另外,他也可

以用来取代exit

29,useradd---创建用户

格式:useradd 用户名

创建用户要在root管理员下创建,要么普通用户具有权限

30,passwd---设置密码

格式:passwd

说明:输入passwd回车,输入密码,然后根据提示在输入一次即可完成

31,su---切换用户

格式:su 用户名

说明:输入su 用户名后按下回车,输入root管理员密码

32,userdel---删除用户

格式:userdel 选项 用户名

说明:和删除文件/目录一样 -rf可以强制删除

33,chmod---修改权限

格式:chmod 选项 文件名

选项:u表示拥有者,g表示所属组,o表示other

+r/-r:添加可读权限/去掉可读权限

+w/-w:添加可写权限/去掉可写权限

+x/-x:添加可执行权限/去掉可执行权限

-r:递归修改权限

举例:chmod o+rwx a.txr

chmod u+x,g+rw,x+rwx a.txt

34,chown/chgrp---修改拥有者/所属组

格式:chown 拥有者 文件名

说明:将文件的拥有者修改成其他用户

格式:chgrp 所属组 文件名

说明:将文件的所属组修改成其他组

说明:在root下可以随意修改,在普通用户下需要在前面加上sudo

35,file---识别文件类型

格式:file 文件名

选项:-c 详细显示指令执行过程,便于排错或分析程序执行的情形。

-z 尝试去解读压缩文件的内容

命令扩展:

◆ 安装和登录命令: login、 shutdown、 halt、 reboot、 install、 mount、 umount、 chsh、 exit、 last;

◆ 文件处理命令: file、 mkdir、 grep、 dd、 find、 mv、 ls、 diff、 cat、 ln;

◆ 系统管理相关命令: df、 top、 free、 quota、 at、 lp、 adduser、 groupadd、 kill、 crontab;

◆ 网络操作命令: ifconfig、 ip、 ping、 netstat、 telnet、 ftp、 route、 rlogin、 rcp、 finger、 mail、 nslookup;

◆ 系统安全相关命令: passwd、 su、 umask、 chgrp、 chmod、 chown、 chattr、 sudo ps、 who;

◆ 其它命令: tar、 unzip、 gunzip、 unarj、 mtools、 man、 unendcode、 uudecode。

Linux权限理解

在Linux操作系统下可以创建多个用户,每个用户又可以创建属于自己文件或者目录,而某个用户并不想将他的文件共享其他人看,或者操作,这个时候权限的好处就体现出来了,我创建了一个文件,我并不想让其他人查看修改,于是我给这个文件加上了权限,让这个文件只能让我一个人操作

那么Linxu下的文件权限有哪几种呢,我们用一张图来展示:

当你想查看某个目录或者文件的权限的时候输入ls -ll就可以查看这个文件的具体信息

拥有者:表示这个文件是谁的

所属组:表示这个文件是哪个组的

other:除了拥有者和所属组,其他用户都是other

创建的文件权限分为:默认权限,起始权限,最终权限

我们创建的普通文件(不包括可执行),他的默认权限是664,目录的默认权限是775

普通文件的起始权限是666,目录的起始文件是777

最终权限 == 默认权限

umask(掩码)0002

最终权限==起始权限 & (~umask)

掩码0002 我们只看后三位,后三位002的二进制码是 000 000 010

按位取反后是111 111 101

起始权限是666,转换成二进制码是110 110 110

用 110 110 110 & 111 111 101 结果是 110 110 100

再将这个结果转换成8进制就是 664

粘滞位

在Linux系统下,存在共享目录这个概念,也就是说多个用户共享一个目录,假设叫public,大家都可以在这个目录里创建属于自己文件或者目录,假设我创建了一个文件,我将这个文件的权限设置成700,也就是说只有我自己可以读写执行,虽然其他用户没有对我这个文件的权限,但是任意other却可以删除我这个文件,所以为了防止这种情况,Linux就有了粘滞位这个概念,在这个共享目录上加上粘滞位,其他人就不能随便删除我的文件

添加粘滞位方法:sudo chmod +t public

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值