Linux经常使用指令

 

命令提示符linux

 

man——命令手册git

(须要查看具体参数的使用时,输入/-r便可查看-r的做用,查找下一处:n,退出:q)正则表达式

指令—ls(list)

一、 ls -l (竖着排列)

显示:文件/目录+权限+文件大小+建立人+全部人+实际占的大小+建立时间+名字(google确认)shell

——竖着排列,经过列举的文件信息能够知道哪些是文件哪些是目录数据库

最右边是目录或文件的名字,最左边以d开头的都是目录,以-开头的都是文件,后边的是权限。ubuntu

二、ls -a(列举隐藏文件)

 

指令—cd

cd /dev——绝对路径  de / + cd dev ——相对路径

 

cd - 回到原来的那个路径vim

cd ./** 当前路径(也可使用cd **,结果同样)windows

—cd ../.. 回到上两层路径bash

Tab命令——一次敲击自动补齐,两次敲击查看备选项app

 

指令—pwd

显示当前路径

指令—mkdir

建立一个目录

区分:touch指令做用是建立文本,不是建立文件夹。

指令—rmdir

删除目录

注意:删除目录的指令为rmdir,删除文件的指令为rm。

注意:

删除的时候要在当前目录的上一层删除,而且只能删除为空的文件,不然报错。

实际当中,咱们用的删除指令为:

rm -r(r/R是指recursive,递归迭代的意思,即递归删除,这样就能删除文件内的全部内容了):

这样作一般会让你屡次确认是否删除文件,比较麻烦,能够采用下面的作法:

(rm -tf,force强制删除):

这也是最经常使用的方法,除了可删除目录外还能够删除文件。

注:touch建立文件  mkdir建立目录

(在ls列举出文件详细信息时,-开头的表示文件,d开头表示目录)

-r表示递归的意思,应用很普遍

复制操做

注意:

文件和目录的复制操做是不同的:能够直接进行文件的cp操做,可是若是执行目录cp则会报错“略过目录d1”,可使用递归的方法对目录下的文件进行复制,既能够经过cp -r执行目录的复制。

move操做

注:上述操做的意思是将当前目录下的dd1移动到目的绝对路径或相对路径之中。

在执行move指令时必须进入须要操做的目录才能够,不然会报错。

(原来的状态)

注意:若是这里不进入d2目录中就会没法完成move操做,只有进入具体的目录以后才能够。

vi操做

(即文本编辑器,比windows下的notepad好用,vim与其用法相似。很重要)

注:若是文件有直接进入编辑,若是没有则会建立。

1. Vi两种模式

命令模式(进入后默认的模式),编辑模式(能够敲击a-append,添加;i-insert,插入等)

2.Vi退出

esc—:qw(w-存盘,q-退出,q!-不存盘退出)

3.查看文件内容

more test.txt

4.删除

——dd 删除一行

——dw 删除一个单词

5.插入

——o  在下面插入一行

——O  在上面插入一行

cat与tac指令

注:正序与逆序

指令more是指查看某一文件的所有内容

head指令(能够带参数)

注:取前面3行(恰好把数据截取掉)

tell操做(能够附加参数)

Tell取倒数第几行。

若是对于log等较大的文件进行操做,想读取最后的一些数据时,可使用head或tell操做,而不该该用more指令全盘列举。

注:清屏 ——clear

find操做(功能极其强大)

能够按照文件的名称、日期、大小等查找。

whereis操做

其后通常跟指令,好比 whereis ls(列举出命令的位置以及帮助文档)

环境变量

dos环境下:cmd——echo %path% 或 echo %classpath%

Linux:echo $PATH(要大写)

注:Windows中的分隔符与Linux不一样,这里是:(冒号),而不是;(分号)。

ln连接指令

注:这里是硬连接(默认)。

连接与复制是不一样的,源文件修改后连接内容会随着改变,而复制的则不会。

验证方法:vi打开已经建立连接的文件——修改源文件——查看复制的文件和连接的文件内容是否改变。

软链接

软链接至关于windows中的快捷方式,硬连接至关于复制之后再创建连接。

能够经过删除源文件验证软连接与硬连接二者区别:

注:红颜色表示连接消失,前面的小写字母l表示连接

注:软链接在删除源文件后出错,硬连接因为复制了一份源文件,因此不会报错。

添加用户

1. 指令:adduser或useradd

注:home目录:不一样用户在这里都有一个主目录(每添加一个用户就会多一个主目录)

2. 密码:passwd 用户名(test)

注:输入密码的时候不出现*,这与windows中不同,退格键也是一个字符,所以敲错了必须从新敲。

 

3. /etc目录

注:这里存储的不是密码,而是全部的用户,文件的最后一行是咱们新添加的用户。

注:test——新添加的用户名,1001——用户组,1000——用户id号,/home/test——用户的主目录,/bin/bash——用户所用到的shell是bash

用户组的信息:more group

注:当添加的用户不知道属于哪一个用户组的时候,默认的用户组是与用户名相同的。

 

 

打包压缩

解压缩——unzip **

压缩——zip ** 文件名 目录

在自由软件基金会网站下载wget源码会碰见**.tra.gz/**.tar.gz2,具体操做:

解压(.gz)——tar zxvf 包名

压缩——tar zcvf 包名 目录

(x-解压缩,c-压缩comprise)

 

重定向——拐弯

输出保存到文件中——data >output.txt  --  cat output.txt(这时输出没有打印到屏幕,而是输出到文件中)

若是:

data shit>output.txt

(这时会报错,由于shit文件不存在)

系统中有三个文件是一直打开的,系统为其分配了3个文件描述符。

0——stdin  1——stdout  2——stderr

注:默认状况下,输出信息不会写到磁盘,而是在屏幕显示。

输出重定向

好比在file1:hello,file2:world。须要输出hello world:

cat file1 >file

cat file2 >file

Cat file

这时并不会输出hello world,而是world,由于重定向符在定向以前会清空原来内容。

Ca file1>>file

这时会自动追加内容

Cat file1 file2

Cat file1 file2 >file

这样也能够。

重定向标准错误输出

一样,对于一个不存在的文件执行这样的操做,也会报错。

Ls shit 2 >out.txt

Cat out.txt

注:列举shit文件不存在,会报错,这时经过文件描述符2控制输出。

标准输入重定向

** < out.txt

从刚才的文件输入,用的很少,由于实际中咱们有管道:能够将前面输出做为后面的输入。

 

管道线

Cat file.txt | uniq

注:在file中有重复的,这样就能够不显示重复内容。

Cat file.txt | uniq | grep txt

注:只显示txt文件

Cat file.txt | uniq | grep txt | sort

注:排序

 

用户和文件权限

用户在本身主目录有写权限,其他地方没有该权限。

能够用sudo 指令,化做超级用户操做。

apt-get 必须使用sudo

权限:读、写、可执行

根据权限划分:owner,group,world

 

注:1表示硬连接的数目。第一个peter—owner,第二个peter——group,0——文件大小,后面是最后修改时间。

 

 

对于目录:

读权限——可以查看目录,不然不能查看。

写权限——对里面的文件有建立删除重命名

执行权限——能够进入该目录(其实默认的时候就能够进入目录)。

对于文件:

读权限——对于文件相似。

写权限——重命名、建立和删除操做与这个无关(有写权限,不必定可以进行重命名或删除操做,由于目录的权限可能不具有写权限)

执行权限——对于普通文件添加可执行权限没有什么实际意义。咱们利用vi新建一个脚本:

Vi a.sh(稍后敲小写i进入插入模式)

Echo hello!

存盘退出

试图执行: ./a.sh

权限被拒绝,须要增长权限。

Ls -l a.sh

查看权限

利用chmod +x a.sh能够成功执行。

总结:对于一个文件有执行权限能够运行。

利用八进制数的形式修改

 

如何在终端复制粘贴?

双击对象——ctrl+shift+C复制——ctrl+shift+V粘贴

打开程序

Firefox+Alt+Tab在各个进程之间切换——firefox此时占据了shell,咱们是没法执行其余操做的——比较好的方法是在shell中键入firefox &而不是firefox,这样程序后台运行——如今可使用Ctrl+Z使firefox暂停——程序没有响应——bg(即后台,firefox &效果同样)——fg回到前台——ctrl+c结束

程序不正常运行时,可使用kill -9 PID,正常运行时可使用kill -15 PID

还有一种状况,程序占用资源过多,桌面系统被拖死,咱们没法输入任何内容—ctrl+ALt+F1杀死进程,这样能够进入第一个控制台(linux中能够同时启动7个控制台)。

查找

locate——系统全局范围(ubuntu中支持正则表达式)

注:新建一个文件并不能直接经过该指令搜到,locate运行原理是在数据库中查找而不是遍历整个文件系统,updatedb会把文件系统更新到数据库中,可是updatedb天天才更新一次。咱们手动运行如下便可(须要超级用户权限)——sudo updatedb 文件

find——在一个目录中,若是输入.,则会查看当前目录下的全部文件,若是输入. |grep .txt则会输出txt文件。若是只看文件:find . -type f,只看目录:find . -type d。

还能够添加可执行的操做:

find . -type f -exec ls -l ‘{}’  ‘;’

在列举出的文本中添加内容

echo hello >a.txt

echo Hello >b.txt

字符串查找:

find . -type f -exec grep hello ‘{}’  ‘;’

输出:hello

打印匹配项所在的文件:

find . -type f -exec grep hello ‘{}’  ‘;’ -print

打印具体的行号:

find . -type f -exec grep -n hello ‘{}’  ‘;’ -print

忽略大小写:

find . -type f -exec grep -ni hello ‘{}’  ‘;’ -print

happygrep(能够在git上下载)

安装依赖的库——make获得二进制代码——ls显示happrgrep——为了使其成为系统能够找到的命令,能够将其转移到主目录的bin目录中——mv happygrep ~/bin——这样在命令行任意位置敲happygrep均可以实现对应功能(好比补齐)——若是以为名字太长,能够实现连接——ln -s happygrep XXX——这样敲击XXX就启动了这个程序

相关文章
相关标签/搜索