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及文件操作指令等(五)的主要内容,如果未能解决你的问题,请参考以下文章