在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参数强制执行)

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

(0)

相关推荐

  • Linux:常用shell命令

    常看当前目录列表 ls 删除目录或文件 rm 文件路径 rm -rf 文件路径 (不提示你是否确认删除,不推荐使用) 复制目录或文件 cp 文件路径 目标文件路径 移动目录或文件 mv 文件路径 目标 ...

  • 在Unix和Mac上的Shell编程(正则表达式)

    三个文章是连住同一个小姐姐. 首先我们回忆一下部分的正则表达式 星号(*)指定匹配的零个活多个字符 问号(?)可以指定任意单个字符 [...]指定包含在中括号中的任意字符 点号(.)能够匹配任意单个字 ...

  • 在Unix和Mac上的Shell编程(2)

    小姐姐整楼(已被授权) 文件名中的空格怎么破? cat my test documentcat后面有三个参数,这样子看不可以的,咋办? 解决方法: 使用"my test document&q ...

  • Mac上复制和粘贴的一些小技巧

    了解如何在MacBook Air,MacBook Pro,iMac或任何其他Mac型号上复制和粘贴,以及如何像Pro一样管理剪贴板的提示. 如何在Mac上复制和粘贴: Cmd + C复制 Cmd + ...

  • 如何在Mac上隐藏桌面图标

    很多时候,我将文件保存在桌面上,这样我可以更方便地找到它们.而且,如果我忘了及时清理它们,它们会堆积并弄乱整个屏幕. 幸运的是,我整理了一些易于使用的技巧来隐藏Mac上的桌面图标,以立即消除混乱.让我 ...

  • 如何在Mac上更改显示器的刷新率

    在macOS上修改显示器的刷新率 macOS具有内置选项来更改显示器的刷新率. 按照以下步骤修改Mac的刷新率: 单击Mac左上角的Apple徽标. 从Apple菜单中 选择"系统偏好设置& ...

  • 如何在Mac上升级RAM

    了解如何检查是否可以更换Mac的RAM,在哪里购买RAM以及如何升级Mac的RAM. 如果您的Mac感觉迟钝,则升级RAM是一个很好的调整.虽然将旧硬盘驱动器替换为现代SSD是最显著的硬件改进,但Ma ...

  • 如何使用Movavi Video Editor Plus在Mac上制作旁白配音视频

    Movavi Video Editor Plus mac是一款Mac平台上非常强大优秀的视频编辑软件,Movavi Video Editor for Mac提供的滤镜.过渡.片头还有标注等功能,让您可 ...

  • 教你如何在Mac上打开CAJ格式的文件

    今天有人问我「Mac 怎么打开 CAJ 格式文件啊?」 我的第一反应是: CAJ 是啥? 科普: CAJ是电子刊物的一种格式.可以使用CAJ全文浏览器来阅读. CAJ全文浏览器是中国期刊网的专用全文格 ...

  • 如何在Mac上管理辅助功能键盘的选项?

    如果您在Mac台式机或MacBook上使用键盘时遇到问题,则可以使用一些键盘辅助功能,这些功能可以使您的工作变得更容易管理.启用这些键盘辅助功能非常容易,并且会为需要它的人打开一个全新的世界.那我们如 ...