Linux基本指令

目录

关于指令

ls (只介绍常用选项)

pwd

cd

whoami

touch

mkdir

rmdir与rm

知识点补充增加删除用户

man

echo

知识补充 >与>>

cat

cp

mv

知识补充ctrl + c

知识补充alias

more

less

head

tail

知识补充管道文件

data

cal

find

grep

zip/unzip

tar

知识补充bc

uname

​编辑

free

su 

知识补充tab

知识补充ctrl r

ctrl d

shutdown

Linux操作系统(服务器)永远不关机

简单理解指令的运行原理


linux下一切皆文件

文件的属性是数据,也要存储

因此文件操作 = 对文件内容操作  or 对文件属性操作(指令的选项协助我们对文件的属性进行操作)

关于指令

1.指令就是一个可执行程文件,在执行指令前我们会在系统中先查找指令,指令一定是在系统的某个位置存在的

2.Linux的指令是可以携带选项的

ls (只介绍常用选项)

文件的类型

d:是一个目录

-:文件是一个普通文件

在Linux中,以.开头的文件称为隐藏文件,任何一个目录下面都有两个隐藏文件

.. :表示当前路径的上层路径

.:表示当前路径,其存在意义是帮助用户定位当前目录下的一个文件

常用选项

(选项可以多个叠加使用)

如 ls -a -d

1. -a列出目录下的所有文件,包括以.开头的隐藏文件

2.-d将目录像文件一样展示,而不是显示其下的文件, 如ls -d 指定目录

3.-l 列出文件的详细信息

4.-F在每个文件名后附上一个字符以说明该文件的类型,*表示可执行的普通文件, /表示目录,@表示符号链接,|表示FIFOs,= 表示套接字

pwd

显示用户当前所在的目录

/ 表示路径分隔符

回退到只有/时,这个/代表根目录

目录下可以存放目录和文件,所以Linux的整个目录结构一定是一个多叉树的结构,它的叶子节点一定是一个空目录或者一个非目录文件,路上节点一定是一个非空目录

所以我们定位一个文件,通常用路径来定位,路径定位具有唯一性

我们把从开始定位到指定位置的路径称为绝对路径

我们把以自己当前所处的路径为起始参照位置来进行特定文件定位的,这样的路径称为相对路径

使用

1.绝对路径往往比较长,但是不变,一般在一些固定场景,比如配置文件中使用

2.一般命令行输入,比较常用相对路径

cd

cd + 目录名

改变工作目录,将当前工作目录改变到指定的目录下,除了cd + / 可以直接跳到根目录 cd + ~跳到家目录外,其它都需要在目标目录所在目录跳

cd dir1/dir2 这样可以连续跳

whoami

查找我是谁

cd .. :返回上级目录
cd /honme/litao/linux/ :绝对路径
cd ../day/ :相对路径
cd ~ :进入家目录
cd -:返回最近访问目录

(最前面和最后面的/不影响指令的结果)

touch

创建一个普通文件

touch test.c

mkdir

创建一个目录

mkdir -p test/test1/test2 //递归建立多个目录

rmdir与rm

rmdir只能删除空目录

rm 可以删除普通文件

rm  mytest.txt
rm ../mytest.txt
//删除本目录文件,以及删除上一目录文件

rm -f  不显示任何信息,强制删除

rm -r (递归,用于删除目录)

rm -rf 递归并强制删除

知识点补充增加删除用户

在root下

useradd  用户名   增加用户

userdel 用户名  删除用户

man

我们可以用man指令访问linux的手册页数,手册一共分为八章,会默认从第一章开始搜索,直到搜索到,然后停止

语法:man[选项]指令

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

2.num 只在第num章节寻找

3.-a搜索所有章节,如果搜索到一个章节里面有的话,按q退出后它会继续向后搜索。

手册分为八章

1Executable programs or shell commands普通的命令
2System calls (functions provided by the kernel)  是系统调用,如open,write之类的(通过这个至少可以很方便地查到调用这个函数需要加什么头文件)
3 Library calls (functions within program libraries)  是库函数,如printf
4Special files (usually found in /dev) 特殊文件
5File formats and conventions eg /etc/passwd   描述了文件的格式,各个字段的含义和取值约束等
6Games游戏,游戏自定义
7Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)附件和变量,比如说environ这种全局变量在这就有说明
8System administration commands (usually only for root) 系统管理员命令(通常仅适用于root用户)

echo

可以打印你后面跟的字符串

echo  "hello linux"
echo  'hello linux'
echo   hello linux
都能被识别
打印出hello linux

知识补充 >与>>

输出重定向 >与追加 重定向>>

>向目标写入时,会先清空原文件,然后再写入

echo "hello linux" > mytest.txt
没有在显示器显示
这个数据被写入目标文件

printf "hello linux" > mytest.txt
echo 自动换行,printf不换行

> mytest.txt
//这样写就相当于清空文件
//如果文件不存在,那么会创建一个新的文件

echo "hello linux" >> mytest.txt
//会在原来的内容后面追加新内容

cat

默认从 键盘读,写到显示屏,适合打印小文本

-n 对输出结果编号
-s 不输出多行空行
-b 对非空输出行进行编号
输入重定向 <
cat < mytest.txt
//不从键盘输入从文件输入
直接跟随文件也可以直接打印
cat mytest.txt

不过两者还是有所区别的 

cp

1.拷贝普通文件

cp  mytest.txt mytest1.txt
//可以在同一目录拷贝,但是文件名不能相同

cp mytest.txt  ../mytest.txt
//可以使用相对路径来将文件拷贝到上一目录,此时目录不同,文件名可以相同

2.拷贝目录

cp -r  mytest mytest1
//同删除目录一样,需要-r递归

cp -rf  mytest mytest1
//-f指的强制,不询问

mv

剪切文件

剪切到当前目录(相当于重命名)
mv mytest.txt  mytest1.txt
等价于
mv mytest.txt ./mytest1.txt

剪切到上一目录
mv  mytest.txt  ../mytest1.txt

//如果没有给新名字,名字还是原来的

剪切目录

mv  dir dir1
重命名当前目录

mv  ../dir .
//把上一目录的dir剪切到当前路径
mv  dir ../dir1
//把当前目录下的dir剪切到上一目录并且重命名为dir1

知识补充ctrl + c

强制退出,也可以在指令输入错误的时候让前面的指令无效化

知识补充alias

取别名

alias  ll = "l -l";
//注意,需要带分号
//如果想要取消,那么
alias ll= "";

more

适合用来看大文本

使用more时,会先进行打印把一个屏幕占满,然后按回车可以继续下翻,按q可以退出,但是只能下翻,在一次搜索结束后可以使用

/num 搜索相应行

1.-num 打印到第多少行停下来

less

使用less时,会先进行打印把一个屏幕占满,然后按回车可以继续下翻,按上可以上翻

/num也可以搜索相应行

head -10 mytest.txt
搜索前十行

tail

tail -10 mytest.txt
搜索后十行
head -1000 mytest.txt > tmp.txt
tail -20 tmp.txt
//截取片段

知识补充管道文件

是一个内存级的文件,作用是把左侧的程序的输出交给管道文件,然后右侧文件再从管道里读出来,作为其输入

所有的文件运行是都会先从磁盘搬到内存里

head -1000 mytest.txt | tail -20

data

1.

data +%F
等价于data +%Y-%m-%d  //年月日

data +%X
等价于data +%H:%M:%S  //时分秒

2.

data +%s
//时间戳

3.

data -d @时间戳
//可以把时间戳转换成我们认识的格式,但是这样子显示的是系统默认格式
//因此我们可以
data +%Y-%m-%d -d @时间戳

cal

显示日历,默认显示该月的日历

1.cal 

2.cal -num

cal -3
//查看该月以及附近月份日历,比如说该月为六月,会显示五六七月的日历

3.cal num

显示该年的所有日历,如果有两个参数,那么会定位到年月

find

可以在指定的路径下进行文件的搜索  --真的在磁盘文件中查找

这里只介绍一个选项

find 目录 -name 文件名
find ~ -name *
find ~ -name *.c//这个的意思是在家目录查找所有后缀为.c的文件
find ~ -name test.c
find /usr/bin/ -name ls

但是如果在所有文件中找,可能会出现有些文件没有权限查找的的情况

which  可以在指令路径下搜索指令文件, /usr/bin

就是

which ls


但是如果我们 which ll时,发现路径到了ls就结束了,那是因为ll被取别名了

 whereis 在系统指定路径下查找,既可以找到可执行程序,又可以找到手册,安装包,压缩包等

grep

语法:grep  选项  要搜寻的字符串  文件

grep "hello"  test.txt

-i  忽略大小写不同

-n 打印行号

-v 反向选择,即显示出不包含该字符串的文件

zip/unzip

zip  压缩文件名.zip  目录或文件

zip  tmp.zip  test.txt
zip  tmp.zip  -r tmp
zip  tmp.zip  -r tmp test.txt

1.unzip   压缩文件名.zip 

2.unzip  压缩文件名.zip  -d  目标目录

unzip tmp.zip 
unzip tmp.zip -d  work

(可以将文件解压到指定目录)

如果后面跟了多个目录或者文件,那么它们都会被打包到一个压缩文件中,如果包含目录,那么需要-r 递归处理

tar

这里介绍三个常用的

tar  czf  xxx.tgz    目标文件或目录   打包压缩

tar  tzf xxx.tgz    预览

tar  xzf xxx.tgz    解压解包

总体上与zip 是类似的

知识补充bc

可以进行浮点运算,就是linux里面的计算器

uname

用来获取电脑和操作系统的相关信息

uname可以显示主机所用的操作系统的版本硬件的名称等基本信息

-a详细输出所有信息,依次为内核名称  主机名  内核版本号 内核版本  硬件名  处理器类型  硬件平台类型  操作系统名称

el是centos 的简写     x86_64  = x64    x86 = 32

free

可以用于查内存

-k  用kb的方式

-m  用mb的方式

-g 用g的方式呈现

su 

用于切换用户

语法su  用户名

su  myh

切换到root时,root可以省略

知识补充tab

用于补全指令

比如已经输入 whic 再按tab就会补全成which,如果有多条相应whic开头的指令那么这些指令都会显示

知识补充ctrl r

用于查找某个指令的历史操作

linux会记录最近的一千个指令

ctrl d

表示键盘输入结束,EOF,也可以用于替代exit的功能

shutdown

-h将服务停掉后立即关机

-r将服务停掉后重新启动

-t sec  过几秒关机

Linux操作系统(服务器)永远不关机

简单理解指令的运行原理

输入指令的过程就是输入字符串

用户通过 命令行解释器与操作系统进行交互

命令行解释器将用户的指令翻译给核心(kernel)处理,同时将核心的处理结果翻译给用户

命令行解释器(shell)存在的意义(在linux下就叫做命令行)

1.进行命令行解释

2.保护操作系统,对于用户的非法请求进行拦截

base ,sh等就是具体不同类别的命令行解释器,包含于shell中

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值