LinuxShell及文件操作指令等(五)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LinuxShell及文件操作指令等(五)相关的知识,希望对你有一定的参考价值。

参考技术A 常用参数:

特殊变量:

原理

操作演示

简单示例,查阅目录~/test是否存在,如果存在就建立文件~/test/hehe

判断文件夹~/tt是否存在,如果不存在就新建该文件夹

最后附上指令依序执行的关系示意图

经典示例

tee数据流示意图

over...

Linux常用指令及操作

Linux 常用指令 使用命令man+【具体指令名称】可以查看该指令的详细使用方式

Ubuntu用户首次设置root用户密码:

在终端输入命令 sudo passwd,输入当前用户的密码然后回车进行设置

基础常用命令

ls          显示文件或目录

     -l           列出文件详细信息l(list)

     -a         列出当前目录下所有文件及目录,包括隐藏的

mkdir         创建目录(创建多级目录要使用-p参数)

     -p           创建目录,若无父目录,则创建p(parent)

cd               切换目录

touch          创建空文件

echo            创建带有内容的文件。

cat              查看文件内容

cp                拷贝

mv               移动或重命名(移动到同一目录下则为重命名操作)

rm               删除文件

     -r            递归删除,可删除子目录及文件

     -f            强制删除

find              在文件系统中搜索某文件

wc                统计文本中行数、字数、字符数

    -c 统计字节数。

-l 统计行数。

-m 统计字符数。这个标志不能与 -c 标志一起使用。

-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

-L 打印最长行的长度。

只显示文件夹 ls -l | grep ^d

只显示文件 ls -l | grep ^-

查看文件夹个数 ls -l | grep ^d | wc -l

查看文件个数 ls -l | grep ^- | wc -l

grep             在文本文件中查找某个字符串

rmdir           删除空目录

tree             树形结构显示目录,需要安装tree包

pwd              显示当前目录

ln                  创建链接文件

ln -s abc cde 建立abc 的软连接(软链接可以跨文件系统,硬链接不可以,可以使用windows下的共享文件验证)

lnabc cde 建立abc的硬连接,(所有硬链接指向一个节点,动态修改节点连接数,当节点连接数为0,该节点不存在)

软链接可以理解为windows下的快捷方式,可以指向一个目录。硬链接可以理解为一份完整的文件拷贝,但是当文件内容发生变化,所有指向该节点的文件内容都会更新。(默认创建的是硬链接)

more、less 分页显示文本文件内容

head、tail    显示文件头、尾内容

ctrl+alt+F1-F6  命令行全屏模式

ctrl+alt+F7  退出命令行全屏模式

 

系统管理命令

stat              显示指定文件的详细信息,比ls更详细

who               显示在线登陆用户

whoami          显示当前操作用户

hostname      显示主机名

uname           显示系统信息

top                动态显示当前耗费资源最多进程信息

ps                  显示瞬间进程状态 ps -aux

du                 查看目录(包含子目录)大小 du -h /home带有单位显示目录信息

df                  查看磁盘大小 df -h 带有单位显示磁盘信息

ifconfig          查看网络情况

ping                测试网络连通

netstat          显示网络状态信息

man                命令不会用了,找男人  如:man ls

clear              清屏

alias               对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unalias showmeit

alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号''将原来的命令引起来,防止特殊字符导致错误。 alias命令的作用只局限于该次登入的操作。若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件/etc/bashrc中。

查看系统已经设置的别名alias -p

kill  杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。

 

打包压缩相关命令

命令格式:tar-zxvf 【压缩包文件名.tar.gz】 -C  【路径】/

注释:解压.tar.gz格式到指定的目录下

例如:tar -zxvf japan.tar.gz-C /tmp/

命令格式:tar-jxvf 【压缩包文件名.tar.bz2】 -C  【路径】/

注释:解压.tar.bz2格式到指定的目录下

例如:tar -zxvfjapan.tar.bz2 -C /tmp/

压缩.tar.gz格式到指定目录下

命令格式:tar-zcvf 【目录】/ 【压缩包文件名.tar.gz】【源文件】

例如:tar -zcvf/tmp/test.tar.gz japan/

注意:一次压缩多个文件直接在源文件后用空格格开即可

压缩.tar.bz2格式到指定目录下

命令格式:tar-jcvf 【目录】/ 【压缩包文件名.tar.gz】【源文件】

例如:tar -jcvf/tmp/test.tar.bz2 japan/

注意:一次压缩多个文件直接在源文件后用空格格开即可

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

 

关机/重启机器

shutdown

     -r             关机重启 shutdown –r now(立即关机重启)

     -h             关机不重启

     now          立刻关机

halt               关机

reboot          重启reboot –nf强制立即重启(危险操作,容易造成文件系统损坏)

 

Linux软件包管理

sudo dpkg -itree_1.5.3-1_i386.deb         安装软件

sudo dpkg -rtree                        卸载软件

文件权限管理 三种基本权限:

R   读  数值表示为4

W  写   数值表示为2

X  可执行  数值表示为1

更改权限

sudo chmod [u所属用户 g所属组  o其他用户  a所有用户]  [+增加权限  -减少权限]  [r  w x]   目录名

例如:有一个文件filename,权限为“-rw-r----x” ,将权限值改为"-rwxrw-r-x",用数值表示为765

sudo chmod u+x g+wo+r  filename

上面的例子可以用数值表示

sudo chmod 765filename

chmod容易和chown混淆:

chown用法

用来更改某个目录或文件的用户名和用户组的

chown 用户名:组名 文件路径(可以是就对路径也可以是相对路径)

例1:chown root:root /tmp/tmp1

就是把tmp下的tmp1的用户名和用户组改成root和root(只修改了tmp1的属组).

例2:chown -R root:root /tmp/tmp1

就是把tmp下的tmp1下的所有文件的用户名和用户组都改成root和root。

一般来说,这个命令只能由系统管理者(root)使用,一般用户没有权限来改变别人的文件的拥有者,也没有权限可以将自己的文件的拥有者改设为别人。只有系统管理者(root)才有这样的权限。

 

Linux Vim常用指令:

在Command mode下按‘i’、‘a’或‘o’三键就可进入Insert mode。这时就可以开始输入文字了。

i: 插入,从目前光标所在之处插入所输入的文字。

a: 增加,目前光标所在的下一个字开始输入文字。

o: 插入新的一行,从行首开始输入文字。

Insert mode的切换→Command mode,按Esc键

您目前处于Insert mode,您就只能一直打字。假如您发现打错字了,想用光标键往回移动,将该字删除,就要按ESC键转换回Command mode,再删除文字。

按Ctrl+B:屏幕往后移动一页。[常用]

按Ctrl+F:屏幕往前移动一页。[常用]

按 G:移动到文章的最后。[常用]

按 $:移到光标所在行的行尾。[常用]

删除文字

x:每按一次删除光标所在位置的后面一个字符。[超常用]

#x:例如,6x 表删除光标所在位置的后面6个字符。[常用]

X:大字的X,每按一次删除光标所在位置的前面一个字符。

#X:例如,20X 表删除光标所在位置的前面20个字符。

dd:删除光标所在行。[超常用]

yy:复制光标所在行。[超常用]

p:复制单行到您想粘贴之处。(指令‘yy’与‘p’必须搭配使用)

#yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字。[常用]

p:复制多行到您想粘贴之处。(指令‘#yy’与‘p’必须搭配使用)

r: 取代光标所在处的字符:[常用]

Ctrl+G:列出光标所在行的行号。

#G:例如,15G,表示移动光标至文章的第15行行首。[常用]

set nu: 输入“set nu”后,会在文章的每一行前面列出行号。

取消行号显示命令为setnonu

vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

wall 命令对系统管理员来说很常用,它能够给登录到系统的用户发送信息 ( 需要用户的 mesg permission设置成yes ,该用户才会收到信息 )

wall ”we will be going down for maintenance for onehour sharply at 03:30 pm”

命令:rsync复制文件,参数-P开启进度条。从而可以看到文件的复制进度。

 

扩展知识:

嵌入式Linux中常用指令

创建一个以日期命名的文件(使用date命令的格式化输出,不需要拼接时间字符串)

touch `date +%Y-%m-%d`.txt或者touch `date +%Y-%m-%d-%H:%M:%S`.txt

sync 将内存缓冲区内的数据写入磁盘

添加默认网关:routeadd default gw 192.168.1.1

删除默认网关 routedel default

列出所有 tcp 连接信息netstat –at

Linux scp

scp是在两台机器间复制传输数据的命令、其实质相当于利用SSH协议来传输数据的cp命令

ssh指定用户登录

[root@Think ~]# ssh -l 用户名 192.168.1.117 

[root@Think ~]# ssh 用户名@192.168.1.117 

复制远程服务器的文件到本地:

[root@Think ~]# scp  192.168.1.117:服务器端文件绝对路径 本地准备存储该文件的路径

复制远程服务器的目录到本地(递归复制):

[root@Think ~]# scp -r 192.168.1.117:服务器端目录本地准备存储该目录的路径

复制本地的文件到远程服务器:

[root@Think Desktop]# scp 本地文件路径 192.168.1.117:服务器端准备存储改该文件的路径

复制本地的目录到远程服务器:

[root@Think ~]# scp -r 本地目录 192.168.1.117:服务器端准备存储该目录的路径

清空终端屏幕

Linux用户习惯使用clear命令或Ctrl+L组合快捷键来清空终端屏幕。这样做其实并没有真正地清空屏幕,当用鼠标向上滚时,你仍然能看到之前的命令操作留下来的输出。

命令 printf “\\033c” 或者 printf “\\ec”真正地清空了终端屏幕.

reset也是真正地清空终端屏幕。这个命令执行起来有点慢,但它的兼容性显然比之前的那个要好。reset命令在你的终端控制错乱时非常有用。

以上是关于LinuxShell及文件操作指令等(五)的主要内容,如果未能解决你的问题,请参考以下文章

每天学五分钟 Liunx 0111 | 服务篇:进程权限

linuxshell命令学习1——用户文件和目录操作

Linux常用指令及操作

Linuxshell脚本之蛋疼Sed简介正则表达式

Linux常用操作指令整理,这个操作服务器实在是太方便了

Linux常用操作指令整理,这个操作服务器实在是太方便了