打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在Unix和Mac上的Shell编程(1)

Shell这个语言吧,在很多大佬看来,他并不是一个适合新手来学习的语言,或者说它不适合入门,不管怎么说,它的历史和Unix的历史是一样长的。而且最近我是尝试着迁移到unix上的。

    不管怎么说,都是值得学的。我会记录我的一切坑。因为看教程,三言两语的就好了,但是你去实现他说的很多东西,你会发现并不是你们简单。就是出不来结果。

    这个东西,我决定写一个系列。具体的大纲我也没有去做,总之是有条理的。首先是要复习一些“基础”知识。

    基础命令

1.date

date命令


2.who

who命令,找出已登录人员

3.who am i

am i是who的参数,但是这个东西。个人觉得,知道就好

4.echo(回显字符)

可以看见,对中文的支持还是可以的

英文不用说

然后:写了一个一到五的英文,中间有很多的空格,会发现输出的时候,空格都被压缩了。

Unix系统只识别3中文件,普通文件,目录文件,特殊文件(通常是对nuix系统的有特殊含义的文件)

5.ls

ls命令可能是用的最多的命令吧,因为unix就是操作的一堆文件,你们时时刻刻知道处理的文件状态,就是很重要的一件事情了

6.cat

cat检查文件的内容




cat不是猫咪的意思,是concatenate的简写,参数是一个文件名

忽略那个txt文件的内容,我搜索了一个作文。

7.wc(不是厕所的意思0

统计文件重的单词数量->获得行数,单词数,字符数。

此时写一点关于这些命令使用时的选项

  1. 命令 -x(就是写完一个命令,一个空格,一个横杠,然后一个参数)

  2. e.g:wc -l name

看图,体会一下


8.cp(处个对象「复制案件」)

为了演示,我创建了两个文件夹。里面的子文件各有一个文件。

该命令有两个参数,一个是要复制的文件名(源文件),二参数肯定不用考虑是要复制为的文件名(目标文件)

这个命令没有什么明确的反馈告诉你,是成功的。

9.mv(载歌载舞???「重命名」)

参数和cp是一样的

这里需要注意一下。在执行mv和cp命令时。程序不会管你第二个参数的文件是不是存在。

  1. 如果有,那就给你覆盖

  2. 记住一点,有重名文件时,会把你之前的那个文件覆盖掉。

10.是删除文件的命令,吧要删除的文件,输入成一列,就好了

路径的概念,啊。不想贴图了,,,我好累。

先劝人不论时候都用相对路径,一定要用!!!相对路径,啊,没跑,你就用。

在unix的系统里面,所有的目录都是有两个身份的,要不他是上一级的子目录,要不是下一级的父目录。既然有这种从属关系,那么一定有根(root)

被表示为/(读作slash),你在那个目录(起个名字叫当前工作目录),你想去哪里就需要明确知道要去的路径,这一串的路径中,子父节点间用/来分隔

.单点号总是🚰当前的目录,记住这个提示,日后很有用。

11.pwd(print working directory),打印当前所在的路径,也是一个常用的命令

12.cd是移动目录,参数是路径名。cd  ..(注意cd后有一个空格)是到上一即目录的。

那么也有这种写法:cd ../..返回到主目录

13.做一些补充

ls -l更加详细的目录信息。

  1. 文件占用的储存快(1024字节)数。

  2. 目录是d,文件是-,特殊文件是b,c,l,p

  3. 9个字符定义了文件或者目录的访问权限

  4. 还显示了连接数

  5. 文件最后的修改时间

  6. 文件名

14.mkdir,创建一个目录

15.目录之间复制文件

a->b(1)

c->d(1)

cp a/b c/d

cp a/b/1 c/d/1

因为1,1 两个文件在不同的目录中,就算名字相同也没有问题。

如果目标文件打算常用和源文件相同的名字,(在不同的目录里面),只需要制定目录作为第二个参数就行

cp a/b/1 d(在执行这个命令时,会发现二参数是一个目录,于是直接复制)

16.ln(不是数学概念哦)

我们目前讨论的都是一个文件又且只有一个名字,但是,一个实体的文件。其实可以有很多的名字,就像有人喊我怼怼,喊我国国我都会答应一样。

ln form to命令形式

具体有什么用?让某个程序出现在多个目录中。唯一的要求就是,这个链接不可以跨文件系统

用df命令可以看


对于关注符号链接所指文件的详细信息,可以用 ls -LI来查看(这个地方哟错误,我日后订正)

删除符号链接所指向的文件会使符号链接失效(符号链接是用文件名来维护的),但符号链接本身不会被删除。这种文件有个装逼的名字叫悬挂符号链接(danging symbolic link),应该删除吧。除非你想替换这个被删除掉的文件。

ln files directory(可以为特定目标目录的多个文件创建链接)

17.rmdir(删除目录)

就是单纯的删除目录,里面有东西就报错

试试这个rm -r dir

然后来个狠毒的?rm -rf(f参数强制执行)

我好累啊。。。我不写了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
带你全面认识 Linux
Linux常用搜索命令
运维必备Linux的20个常用命令
DOS完整教程
什么是shell
LINUX命令大全
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服