首页 > 其他分享 >开发工具系列003-OSX系统基础命令

开发工具系列003-OSX系统基础命令

时间:2022-12-09 23:00:49浏览次数:44  
标签:OSX 示例 -- text 003 开发工具 文件 txt wendingding

title: 开发工具系列003-OSX(UNIX / Linux)常用命令行

tags:
  - 开发工具系列
categories: []
date: 2015-06-18 23:45:13

本文简单记录工作中常用的命令行(持续更新),因为我用的是`Mac OSX`系统,因此部分命令在`Windows系统`中将失效(或需调整),此外需注意Windows的文件系统路径斜杠和`UNIX`是反的。

pwd

全称 Print Working Directory

作用 查看当前目录

示例

$ pwd
/Users/文顶顶/Desktop/Test

cd

全称 Change Directory

作用 切换目录,../表示返回上一层目录

$ cd ../
$ pwd
/Users/文顶顶/Desktop
$ cd Test/
$ pwd
/Users/文顶顶/Desktop/Test

ls

全称 List

作用 查看当前目录下内容

参数 usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]

示例

示例01:ls    列出当前目录下面的所有文件
示例02:ls -a 列出当前目录下面的所有文件(包含隐藏文件)
示例03:ls -l 列出当前目录下面的所有文件(列表方式),包含文件的创建者和时间等信息
示例04:ls -s 列出当前目录下面的所有文件(打印文件的大小)
示例05:ls -t 列出当前目录下面的所有文件(按照时间来排序)
  
$ ls
    ImageData数据.xmind	Vue			index.js
    PQ.png			Yu.jpg

$ ls -a
    .			ImageData数据.xmind	Yu.jpg
    ..			PQ.png			index.js
    .DS_Store		Vue

$ ls -l
    total 1216
    -rw-r--r--@ 1 wendingding  staff   36971  2 21 15:39 ImageData数据.xmind
    -rw-r--r--@ 1 wendingding  staff  519843  2 19 11:34 PQ.png
    drwxr-xr-x  3 wendingding  staff      96  2 23 10:03 Vue
    -rw-r--r--@ 1 wendingding  staff   56244  2 19 15:58 Yu.jpg
    -rw-r--r--  1 wendingding  staff     363 12 20 15:33 index.js
    
$ ls -t
    Vue			Yu.jpg			index.js
    ImageData数据.xmind	PQ.png

$ ls -s
    total 1216
    80   ImageData数据.xmind	 112 Yu.jpg
    1016 PQ.png			   8 index.js
       0 Vue

说明 这里简单对ls - l命令列出的文件详细信息中的各个字段加以说明

命令行结果:-rw-r--r--@ 1 wendingding  staff   56244  2 19 15:58 Yu.jpg
第一个字符:类型(如果是文件夹则为d,如果是文件则为-)
第二三字符:文件的读取权限,如果是rw则表示可读可写
其他的字符:第一个-r表示当前组的权限
          第二个-r表示其它用户的操作权限
          wendingding 是当前用户
          staff       是当前用户所属的组
          519843      是文件的大小(字节数)
          2 19 15:58  是文件最后一次的修改时间
          Yu.jpg      是文件的名称
          

mkdir

全称 Make Directory

作用 创建目录

参数 usage: mkdir [-pv] [-m mode] directory ...

示例01:mkdir Demo          创建Demo文件夹(目录)
示例02:mkdir -v demo       创建demo文件夹并输出提示信息
示例03:mkdir -p test/sub1  创建test文件夹并在该目录中创建sub1文件夹

touch

作用 在当前的目录中创建文件,可以通过$ open 文件名称命令来打开指定文件

$ cd demo
$ ls -a
.	..
$ touch 1.txt 2.txt
$ ls -a
.	..	1.txt	2.txt

wc

全称 Word Count

参数 usage: wc [-clmw] [file ...]

作用 获取文件的字数信息统计

示例01:wc a.text           获取a.text文件的字数统计信息
示例02:wc -c a.text        获取a.text文件的字数统计信息(统计字节数)
示例03:wc -l a.text        获取a.text文件的字数统计信息(统计行数,从0开始计数)
示例04:wc -m a.text        获取a.text文件的字数统计信息(统计字符数)
示例05:wc -w a.text        获取a.text文件的字数统计信息(统计单词数)

cat

全称 Concatenate files and print on the standard output

作用 查看 | 创建 | 合并文件

示例01:cat index.html              打印并查看index.html文件的内容
示例02:cat > b.text                新建文件b.text并输入内容,需保存
示例03:cat a.text b.text > c.text  合并两个文件的内容给c.text 
示例04:cat -n a.text               输出a.text文件的内容并显示行号(空行会被编号)
示例05:cat -b a.text               输出a.text文件的内容并显示行号(空行不被编号)  
示例06:cat -n b.text >> a.text     对b.text文件的内容加上行号然后追加到a.text文件中
示例07:cat -n b.text > a.text      对b.text文件的内容加上行号然后替换a.text文件的内容

echo

作用 回显字符(向控制台输出字符串信息),默认会压缩多个空格

示例01: echo "123" >  a.text  向a.text文件中输入123字符串(替换)
示例02: echo "123" >> a.text  向a.text文件中输入123字符串(追加)

$ echo "wendingding-mitaoer"
wendingding-mitaoer
$ touch a.txt
$ echo "MiaoXia" > a.txt 
$ cat a.txt 
MiaoXia
$ echo "ChanMing" > a.txt 
$ cat a.txt 
ChanMing
$ echo "De XiaJi" >> a.txt 
$ cat a.txt 
ChanMing
De XiaJi

more 和 less

作用 查看文件

示例01:more +3 a.text              从第三行开始查看a.text文件的内容
示例02:more +/font a.text          搜索文件中指定字符串显示指定位置后的内容
示例03:less -N a.text              显示a.text文件的内容前面加上行号

$ cat 1.text 
Hi!
How are you !
Hello!
How old are you!
Nice .

$ more +3 1.text 
Hello!
How old are you!
Nice .
~
~
~

$ more +/old 1.text 
How old are you!
Nice .

rm

全称 Remove

作用 删除文件

参数 usage: rm [-f | -i] [-dPRrvW] file ...

示例01: rm    1.text               删除a.text文件
示例02: rm -i 1.text               删除文件前会逐一询问确认,输入YES表示删除
示例03: rm -f 1.text               强制删除a.text文件不会询问确认
示例04: rm -r test                 删除test文件夹以及该目录下面所有文件,Recurve(递归)
示例05: rm -r *                    删除当前目录下面所有的文件
示例06: rm -rf /*                  递归删除所有文件(不提醒) [请勿轻易尝试 ⚠️]

rmdir

全称 Remove Directory

作用 删除文件夹,只能删除空文件夹,不常用

mv

全称 Move

作用 移动文件或重命名

示例01:mv index.html ./demo/index.html  移动文件到demo目录
示例02:mv index.html a.html             把index.html重命名为a.html

cp

全称 Copy

作用 复制文件

示例:cp index.html ./demo/index.html   把文件复制一份保存到demo目录

date

作用 显示当前的日期和时间

$ date
2019年 2月23日 星期六 06时52分47秒 CST

who

作用 who获取登录到系统中的所有用户信息,who am i指令用于获取当前登录到系统中的用户信息

$ who
wendingding console  Feb 22 21:07 
wendingding ttys000  Feb 23 09:28 
wendingding ttys001  Feb 23 11:00 
$ who am i
wendingding ttys001  Feb 23 11:00 

history

作用 查看操作历史

curl

作用 发送网络请求,常用于测试(服务器)是否能够到达指定的网站

说明 关于curl的更多用法,请参考另一篇介绍文章。

$ curl http://wendingding.com
<!DOCTYPE html>
<html lang="zh-Hans">
<head>
<meta name="generator" content="Hexo 3.8.0">
<meta charset="utf-8">
<meta name="X-UA-Compatible" content="IE=edge">
<title> 花田半亩</title>
<meta name="description" content="生死有命 富贵在天">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" href="/logo.jpeg">
<link rel="stylesheet" href="/css/apollo.css">
<link rel="search" type="application/opensearchdescription+xml" title="花田半亩">
</head><body>
...省略
</body></html>

(星号)*

作用 在UNIX系统中,星号常用于文件名替换(结合其它的命令)

示例 01-Shell自动将模式*替换成当前目录下能够匹配到的所有文件名

$ echo "我是1.txt" > 1.txt
$ echo "我是2.txt" > 2.txt
$ echo "我是a1文件的内容" > a1.txt
$ echo "我是a2文件的内容" > a2.txt
$ echo "我是a3文件的内容" > a3.txt
$ ls -l
total 40
-rw-r--r--  1 wendingding  staff  12  2 23 17:11 1.txt
-rw-r--r--  1 wendingding  staff  12  2 23 17:11 2.txt
-rw-r--r--  1 wendingding  staff  24  2 23 17:11 a1.txt
-rw-r--r--  1 wendingding  staff  24  2 23 17:11 a2.txt
-rw-r--r--  1 wendingding  staff  24  2 23 17:12 a3.txt

$ cat 1.txt 2.txt a1.txt
我是1.txt
我是2.txt
我是a1文件的内容

$ cat *
我是1.txt
我是2.txt
我是a1文件的内容
我是a2文件的内容
我是a3文件的内容

$ echo *
1.txt 2.txt a1.txt a2.txt a3.txt
$ echo * == *
1.txt 2.txt a1.txt a2.txt a3.txt == 1.txt 2.txt a1.txt a2.txt a3.txt
备注:主要是*出现的地方就被替换为当期那目录中所有的文件名

示例 02-星号还能实现部分文件替换功能,与其它字符配合使用可以限制范围

$ ls -l
total 40
-rw-r--r--  1 wendingding  staff  12  2 23 17:11 1.txt
-rw-r--r--  1 wendingding  staff  12  2 23 17:11 2.txt
-rw-r--r--  1 wendingding  staff  24  2 23 17:11 a1.txt
-rw-r--r--  1 wendingding  staff  24  2 23 17:11 a2.txt
-rw-r--r--  1 wendingding  staff  24  2 23 17:12 a3.txt
-rw-r--r--  1 wendingding  staff   0  2 23 17:24 a4.mp4
-rw-r--r--  1 wendingding  staff   0  2 23 17:24 text.mp4
$ echo *txt
1.txt 2.txt a1.txt a2.txt a3.txt
$ cat a*
我是a1文件的内容
我是a2文件的内容
我是a3文件的内容
$ ls *ex*
text.mp4

示例 03-文件名替换的其他示例

[1] echo t*         打印出以t开头的所有文件名
[2] rm   *.*        删除包含点号的所有文件
[3] ls   a*         列出所有以a开头的文件
[4] rm    *         删除当前目录下的所有文件( ⚠️)
[5] echo a*b        打印出以a开头且以b结尾的所有文件名
[6] cat  *.c        打印出以.c结尾的所有文件的内容
[7] cp ../demo/* .  将../demo目录中的所有文件复制到当前目录
[8] ls [a-z]*[!0-9] 列出以小写字母开头且不以数字结尾的所有文件   

在使用星号命令的时候,在指定的命令被调用之前,这些文件名替换就已经完成了。在具体的操作中,利用星号文件名替换的功能,可以写出更复杂功能更强大的命令行。

vim

作用 在Mac OSX系统,已经内置了vim编辑器,可以通过vim编辑器方便的在命令行中编辑文件的内容。

说明 vim编辑器的功能非常强大,有一套自己的命令相对复杂,这里简单列出常用的操作。

[1] 使用vim编辑器打开指定文件       $ vim 1.txt
[2] 让文件进入编辑(INSERT插入)状态  敲击键盘上的i键
[3] 保存并退出                    esc + shift + : + wq

标签:OSX,示例,--,text,003,开发工具,文件,txt,wendingding
From: https://www.cnblogs.com/wendingding/p/16970463.html

相关文章

  • 开发工具系列002-Webstorm常用快捷键
    title:开发工具系列002-WebStorm常用快捷键(Mac版)tags:-开发工具系列categories:[]date:2015-06-1219:45:13command+C复制command+V粘贴command......
  • 开发工具系列001-Git Tag
    title:'开发工具系列001-Gittag'tags:-开发工具系列categories:[]date:2015-06-0623:20:13本文简单介绍git仓库中tag的用法。如何为git仓库打上tag......
  • PHP 开发工具
     cks在sitepoint的一篇帖子,Easy按照软件开发的流程简单的整理了一下,希望大家能有所收获。 一设计工具UML和相关设计工具-​​​ArgoUML​​​UML......
  • Java入门(二) —— 开发工具配置
    教程中所用到的工具请关注微信公众号:科技前端,回复“工具”即可获得。Java开发工具最常用的就是Eclipse和IDEA,不过我个人推荐用IDEA。下面我将分别介绍这两个软件。一、E......
  • hdu1003 Max Sum--DP
    原题链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=1003​​一:原题内容ProblemDescriptionGivenasequencea[1],a[2],a[3]......a[n],yourjobistocalc......
  • ABAP开发工具概述
    在学习这门语言之前,让我们先看看SAP的二次开发具有哪些工具和技术,这里给大家一个overview: 1、REPORT(报表):报表程序的主要作用是从数据库中抓取数据通过整理陈列出来,给......
  • 嵌入式开发工具链概述
    一、嵌入式系统软件开发流程高级语言编写的源代码文件——》交叉编译器——》目标文件——》链接器用目标机的汇编语言编写的源代码文件——》交叉汇编器——》目标文件——......
  • 使用开发工具,让Serverless开发变得更容易
    使用开发工具,让Serverless开发变得更容易Serverless作为一个应用,云服务商给我们提供自己的开发工具,有了Serverless开发工具可以让我们对应用的管理、应用的调试和应用的部......
  • 300003 抗震等级与设防烈度
    <?phpheader('Content-Type:text/html;charset=utf-8');define('ROOT',$_SERVER['DOCUMENT_ROOT']);includeROOT.'/assets/php/head.php';$tit='抗震等级与设防......
  • 110003 求点B坐标已知点A坐标AB距离方位角
    <?phpheader('Content-Type:text/html;charset=utf-8');define('ROOT',$_SERVER['DOCUMENT_ROOT']);includeROOT.'/assets/php/head.php';$tit='求点B坐标已知......