Linux入门之基本指令

目录

前言

一、操作系统

二、基本指令

1.ls

2.mkdir

3.cd

4.touch filename

5.whoami

6.stat

7.rm filename

8.man

9.cp指令

10.mv指令

11.cat

12.wc

13.more

14.less 按上下键逐行显示 分批显示

15.head命令

16.tail命令

17.统计文件的行数 wc -l    

18.date命令 查看时间

19.cal 查看日历

19.sort

21.which

22.whereis

23.alias 起别名

23.grep文本行过滤工具

24.zip/unzip指令


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、操作系统

操作系统存在的意义:操作系统对软硬件进行合理管理,以达到为上层用户提供良好的,稳定的,安全的运行环境的目的。

二、基本指令

1.ls

显示当前目录下的文件列表(包括目录,普通文本文件),只显示文件名。 命令选项:ls -l

以list的形式,显示文件更多的属性

ls -l -a  // ls -la

命令选项:显示隐藏文件

在linux下,文件/目录以 .开头,就是一个隐藏文件

在windows创建一个文件 这个文件在磁盘中存储,即使是空文件,文件存在属性数据,所以需要占据磁盘空间的大小。文件==内容+属性

2.mkdir

在当前路径下,创建一个目录/文件夹

3.cd

语法: cd 目录 

进入指定的目录

# .当前路径

# ..上级路径

windows下:D:\sust2A_\test.c  --wins下的路径,:\ 路径分隔符

linux下: /home/lib/test.c --linux下的路径, /路径分隔符

linux中  /  为linux的根目录

windows下:文件夹可以有新的文件夹

linux:目录里面可以有新的目录,linux的目录结构,整体是一个多叉树的样子

windows下找一个文件夹或者文件,用路径去定位,Linux也是如此,因为路径具备唯一性

/usr/lib

/home/bit/test.c --从根目录开始,定位文件的路径,称为绝对路径

/usr/bin/me.txt    /usr/lib/you.txt 假设当前是在bin目录, ../lib/you.txt --相对路径 相对于你当前所处的路径 如果当前路径变了,无法找到

绝对路径:在哪里都可以找到,但是麻烦,一般是在某些配置文件中,进行对某种文件进行配置的时候采用

相对路径:相对路径用起来简单,后续指令操作的时候,常用的路径定位方案

cd ~ :直接进入当前用户(whoami)的家目录

windows里面的家目录:C:\用户\user

cd - :回到最近上一次所处的路径

4.touch filename

在当前路径下,创建指定的普通文件

touch ../test.c 在上级路径下,创建指定的普通文件

5.whoami

查看当前的用户

6.stat

查看文件的所有的属性

任何一个文件,都会有三种时间,Access time Modify time Change time

7.rm filename

只能删除空目录

rm -r  删除目录及其下所有文件

rm -f (force) 强制删除

rm-rf ./* 删除当前路径下的所有内容

8.man

查找系统调用接口

安装man指令 yum install  -y man-pages

9.cp指令

cp filename dir

cp -r dir 拷贝整体文件夹和里面的文件

cp -f (force)强制执行

10.mv指令

mv src(文件或目录) dst(一定是一个目录)

mv file.txt name.txt //文件重命名

mv name.txt ../newname.txt //文件剪切+重命名

mv name.txt .. //文件剪切(后面跟的是路径)

如何看待工作目录:默认登录linux,所处的目录就是家目录 /home/xxx ;root->/root。普通用户一般而言只能在自己的家目录下畅通无阻

11.cat

显示文本内容

echo 输出重定向  echo "hello" 显示到显示器上(向显示器打印,可以理解成为向显示器写入,可以把显示器也看成一种“文件”,C程序获取数据scanf,cin,都是从键盘获取,也可以看成是一种文件)

echo "字符串" >文件名 添加字符串到文件中

echo "aaa" >mylog.txt 输出重定向,如果目标文件不存在,会自动创建,并把“aaa"添加,并把本来应该显示到显示器上的文本,写入到文件中(覆盖以前的内容)

echo "bit tech">>mylog.txt //追加重定向,不断的向目标文件新增内容

cat < mylog.txt 输入重定向

cat 后面不跟文件,输入什么打印什么

12.wc

wl -l mylog.txt 统计文件有多少行

13.more

默认按照屏幕大小显示文本内容

14.less 按上下键逐行显示 分批显示

-N 显示每行的行号

15.head命令

head -5 mylog.txt 打印文本的前5行  head mylog.txt 打印文本的前10行 (默认)

head -n mylog.txt 打印文本的前n行

16.tail命令

tail -3 mylog.txt 打印文本的后3行

tail -n mylog.txt 打印文本的后n行

17.统计文件的行数 wc -l    

   // cat mylog.txt | wc -l  显示文件并统计文件的行数

命令行管道 |  管道 有入口 也有出口   cat mylog,txt 管道 wc -l cat输出的数据输入到管道 wc从管道中读取数据

如果想提取文件的500 - 520行,即文件的中间  cat mylog.txt | head -520 | tail -20  | wc-l

取mylog中的前520行,再取前520行的后20行,最后再统计

管道的作用就是级联多个命令 ,让命令组合完成批量化文本处理

18.date命令 查看时间

date +%s 显示时间戳 格林威治时间 1970年到现在累计的秒数

date -d @时间戳 转化为年月日显示

daye +%Y-%m-%d:%H:%M:%S -d %时间戳 转化为当前格式的时间数据

19.cal 查看日历

cal -3 查看本月 上月 下一月的时间

19.sort

sort my.txt 对文本做升序排序

sort -r my.txt 对文本做降序排序

sort my.txt | uniq 去重 把相同的文本去掉

sort mt.txt | uniq | wc -l 统计不同的行有多少行

20.find命令 -name

find pathname -options

用于在文件树中查找文件,并作出相应的处理(可能访问磁盘)

21.which

22.whereis

23.alias 起别名

alias myls = 'ls -a -l -i  -n' 执行myls 和后面的作用相同

23.grep文本行过滤工具

grep 'a' 文件名 显示出所有带a的行

grep -n 'a' 文件名 显示出带行号的所有带a的行

 >my.txt 清空文件 (空 重定向到文件)

grep -v 'a' 文件名打印不带a

grep -i  'a' 文件名 不区分大小写的打印a

24.zip/unzip指令

打包并压缩 打包 所有的东西装在一起 防止丢失 压缩 传输更多的文件

zip dst src

zip  -r 文件夹.zip 文件夹名 压缩

unzip 文件名.zip 解压文件夹

25.tar指令 :打包、解包,不打开它,直接看内容

tar[-cxtzjvf] 文件与目录 ...参数

-c 简历一个压缩文件的参数指令

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

-t查看tarfile中的文件

-z是否同时具有gzip属性

-v压缩的过程显示文件

-f使用文档名

-C 解压到指定目录

范例一:将整个 /etc 目录下的文件全部打包成为 `/tmp/etc.tar`
[root@linux ~]# tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
上述指令在执行的时候,会显示一个警告讯息:
『`tar: Removing leading `/" from member names`』那是关於绝对路径的特殊设定。


范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,就得要加上 z 这个参数了!这很重要的!

范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,
则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux ~]# tar -zxvpf /tmp/etc.tar.gz /etc
这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

范例六:在 /home 当中,比 2005/06/01 新的文件才备份
[root@linux ~]# tar -N "2005/06/01" -zcvf home.tar.gz /home

范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!
要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~
这分别代表 standard output, standard input 与管线命令啦!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值