文件相关的命令
1、创建和删除操作
Touch 摸 修改时间戳 stat (atime mtime ctime),如果没有该文件就创建文件
-c
MMDDhhmm[CC]YY.ss
top --> 查看进程 【CPU: sy ur 】
-a
rm
find 【范围】 -file d -name a*[文件属性]
-exec 命令{}\;
-ok 命令{}\;
| xargs 命令;
mkdir -pv
2、拷贝和移动文件
cp -a //携带所有的文件属性一块复制
mv 1、移动文件 2、修改文件名称
mv a b
mv /tmp/a /root/
文件扩展名
{}
创建目录 姓名_学号
mkdir {}_{}
3、查看文件内容
cat 一次性查看文件中的所有内容
cat /etc/init.d/
more //man命令
/
?
q
less 在更多的情况下,查看大文件,我们使用less
tail 默认查看倒数10行
-n //tail -n 20 文件名 简化:tail 20 文件名
*-f* 不退出文件,实时查看文件内容
head 查看行首
-n //head -n 20 文件名 简化:-20
4、其他
Echo -e -n
echo $PATH
-n //print("Hello World",end='\t') print("Hello World")
print("Hello World")
-e 识别 \t \n \r
echo -n -e "Hello World \t"
重定向 > 和 >>
fd 文件标识符
0 --标准输入
1--标准输出
2--错误输出
程序 = 指令 + 数据
代码 变量
变量里面的数据从何而来?通过代码执行的数据有输出到哪里去?
规定:默认标准输入为--键盘 标准输入为--显示器
而重定向就是用来改变输入和输出的;
输入重定向
> 覆盖重定向 默认工作中不能使用 set -C 去掉这个功能,同时 >| 可以进行强制重定向 (set +C开启覆盖重定向功能)
>> 追加重定向 追加重定向 在原有的文件上,在添加追加的数据即可;
扩展
在Linux中,命令输出除了默认输出结果以外,还返回一个命令执行状态的结果;返回0代表命令执行成功,而返回非0则是失败的;$?存储上一条命令的执行状态结果;
在工作中,我们往往不需要命令输出的结果,而只需要命令执行的状态,我们就会使用重定向 将输出结果重定向至 空文件 (/dev/null)
cat a.txt > /dev/null
输入重定向
< 把后面的文件交给前面的命令来执行;
tr 命令,将前面的内容替换为后面的内容
tr abc ABC < a.txt
<< 将多行内容同时输入,用在 cat 命令中
cat>>文件<<EOF
>a
>EOF
错误输出重定向
2> 需要带上 fd (文件标识符)
2>> 追加的错误重定向输出
扩展优化:
cat a.txt > /dev/null
cat a.txt 2> /dev/null
&> /dev/null 无论命令执行正确与否,都将输出内容指定到/dev/null
&>>[普通文件]
管道
command 1 | command 2 | command 3 | command 4 | ··········
将前面的命令的执行结果,输出给后面一条命令执行;
【Linux思想:结合小功能,完成复杂功能】
tail -7 /etc/fstab | cut -d' ' -f1
cut 切
-d 指定分隔符 ' '
-f 取的列 1-3 1, 3 1
Linux 远程
网卡和IP地址
ifconfig
没有该命令,我们需要安装网络包工具(net-tools)
apt install net-tools
若果,网卡没有起来,我们需要修改默认的网卡配置文件;
/etc/network/interfaces
vim /etc/network/interfaces
1、动态 - dhcp
auto eth0
iface eth0 inet dhcp
【修改配置文件,就需要重启服务】
/etc/init.d/networking restart
2、静态 - 手动去配置
address 192.168.94.10
netmask 255.255.255.0
gateway 192.168.94.1
2、远程管理机制
Ssh 开启Ubuntu的ssh端口的监听功能; tcp-22
netstat -tnl // t -- tcp协议 n -- 不做解析
如果没有:apt install openssh-server -y
/etc/init.d/ssh start
【Ubuntu默认只能使用普通用户进行远程连接】
ssh teacher@192.168.94.10
centos下,直接使用root用户远程登录即可;
ssh root@192.168.94.10
无密码远程登陆