美文网首页iOS开发学习
IOS开发常用的linux命令

IOS开发常用的linux命令

作者: iOS开发攻城狮 | 来源:发表于2017-04-19 15:31 被阅读26次

pwd在Linux层次结构中,用户可以在被授权的任意目录下利用mkdir命令创建新目录,也可以利用cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用户目前处于哪一个目录中。想要知道当前所处的目录,可以用pwd命令,该命令显示整个路径名。

全称:Print Work Directory

语法:pwd

说明:此命令显示出当前工作目录的绝对路径。

另:在脚本中常常使用pwd来确定当前目录以采取不同的操作。

linux系统命令

功能说明:显示文字。

语 法:echo [-ne][字符串]或 echo [--help][--version]

补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开,并在最后加上换行号。

参 数:-n 不要在最后自动换行

-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

\a 发出警告声;

\b 删除前一个字符;

\c 最后不加上换行符号;

\f 换行但光标仍旧停留在原来的位置;

\n 换行且光标移至行首;

\r 光标移至行首,但不换行;

\t 插入tab;

\v 与\f相同;

\\ 插入\字符;

\nnn 插入nnn(八进制)所代表的ASCII字符;

--help 显示帮助

--version 显示版本信息

每一个shell支持的echo指令可能都不太相同。

-n 不输出最后的\n

-e解释转义字符

-E不解释转义字符

示例:echo "i am a boy" // 执行后会打印 i am a boy

i am a boy

cd “你想要进的目录” //当目录名称中含有空格、中文或其它特殊字符时请用双引号包括

以下是最常用的几个目录的写法:

/ 代表根目录

. 当前目录

.. 上级目录

~ 当前用户的默认工作目录

目录可以省略不写, 与cd ~ 有相同的效果

用途

更改当前目录。

语法

cd [directory]

或者

cd [directorya directoryb]

描述

cd 命令设置某一进程的当前工作目录。用户必须具有指定目录中的执行(搜索)许可权。

如果未指定目录参数,cd 命令会将当前工作目录设置为登录目录(在 ksh 和 bsh 环境中是 $HOME,而在 csh 环境中则是 $home)。如果指定的目录名是完整的路径名,它就成为当前工作目录。完整的路径名以 /(斜杠)开头,表示根目录,而 .(点)表示当前目录,或者 ..(点点)表示父目录。如果目录名不是完整的路径名,则 cd 命令会搜索与由 $CDPATH shell 变量(或 $cdpath csh 变量)指定的路径之一有关的路径名。此变量与 $PATH shell 变量(或 $path csh 变量)具有相同的语法和相似的语义。

注:

从 shell 运行 /usr/bin/cd 不会更改 shell 的工作目录。必须使用 cd 命令中 shell 的构建。

ls [list]

这个命令就相当于dos下的dir命令一样,这也是Linux控制台命令中最为重要几个命令之一。Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。

ls -l(这个参数是字母L的小写,不是数字1)【直接输入ll 等价于 ls -l的效果】

这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(最上面两行是我自己加的):

位置1 2 3 4 5 6 7

文件属性 文件数 拥有者 所属者 group 文件大小 建档日期 文件名

drwx------ 2 Guest users 1024 Nov 21 21:05 Mail

-rwx--x--x 1 root root 89080 Nov 7 22:41 tar*

-rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*

lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip

-rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*

-rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*

下面,我为大家解释一下这些显示内容的意义。

第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):

rwx(Owner)r-x(Group)r-x(Other)

这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。

第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。

第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。

第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。

第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb来显示一个文件的大小单位,不过一般我们还是以byte为主。

第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。

第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。

ls –F(注意,是大写的F)

使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。

findfind / -name "*.txt" -print 用于查找所有的‘ *.txt’文件在当前目录及子目录中;

find / -name "[A-Z]*" -print 用于当前目录及子目录中查找文件名以一个大写字母开头的文件;

find /etc -name "host*" -print 在/etc目录中查找文件名以host开头的文件;

find / -name "[a-z][a-z][0--9][0--9].txt" -print 在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.txt的文件;

1、find命令的一般形式为;

find pathname -options [-print -exec -ok ...]

2、find命令的参数;

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

-print: find命令将匹配的文件输出到标准输出。

-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。

-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

3、find命令选项

-name

按照文件名查找文件。

-perm

按照文件权限来查找文件。

-prune

使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

-user

按照文件属主来查找文件。

-group

按照文件所属的组来查找文件。

-mtime -n +n

按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。

-nogroup

查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。

-nouser

查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

-newer file1 ! file2

查找更改时间比文件file1新但比文件file2旧的文件。

-type

查找某一类型的文件,诸如:

b - 块设备文件。

d - 目录。

c - 字符设备文件。

p - 管道文件。

l - 符号链接文件。

f - 普通文件。

-size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。

-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

-mount:在查找文件时不跨越文件系统mount点。

-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。

-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

另外,下面三个的区别:

-amin n

查找系统中最后N分钟访问的文件

-atime n

查找系统中最后n*24小时访问的文件

-cmin n

查找系统中最后N分钟被改变文件状态的文件

-ctime n

查找系统中最后n*24小时被改变文件状态的文件

-mmin n

查找系统中最后N分钟被改变文件数据的文件

-mtime n

查找系统中最后n*24小时被改变文件数据的文件

cp

cp[copy]

这个命令相当于dos下面的copy命令,具体用法是:cp –r 源文件(source) 目的文件(target)

参数r是指连同源文件中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。

楼上的不改了。

../ 和 ./ 代表的 是上级目录 以及当前目录。

这样运用这两个命令来完成两种复制方法。

第一种:处在当前目录复制当前目录下文件到别的目录。

cp_文件名称_别的文件目录路径。"_"是空格

举个例子 在 orz文件夹下有两个子文件夹a和b,a中有文件x.c,b中无文件。

此时我们在a文件夹中命令如下:

cp x.c ../b/

第二种:处在当前文件夹下复制另外文件夹下的文件到当前文件夹下。

cp_路径/文件名称_./

例子条件同上个例子,命令如下:

cp ../a/x.c ./

下图为今年部分iOS开发的视频教程,因为不定时更新中故不做多的截图,如果有iOS开发上的问题不懂或者需要视频教程可以看我的个人简介。

不定时更新中。

相关文章

网友评论

    本文标题:IOS开发常用的linux命令

    本文链接:https://www.haomeiwen.com/subject/pychzttx.html