linux 终端打印内容输出到文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 终端打印内容输出到文件相关的知识,希望对你有一定的参考价值。
参考技术A 方法:利用tee命令可将linux终端的打印内容输出到文件示例:ifconfig | tee ifconfig.log
运行结束后可在ifconfig.log文件中查看打印的内容
linux基础指令以及权限管理
基础指令
#打印字符串
echo hello linux
#将file1 和 file2粘合在一起,打印到标准输出流
cat file1 file2
标准输入输出
- 标准输入,stdin,即键盘、鼠标输入
- 标准输出,stdout,即输出到终端
- 标准错误流,stderr,输出到终端的错误信息
常用命令
# 列出目录下的文件以及详细信息
ls -l /home
#将file1复制到file2
cp file1 file2
#将多个文件复制到dir目录
cp file1 file2 file3 dir
#将file1重命名成file2,如果两者在同一个目录下
mv file1 file2
#将多个文件移动到dir目录下
mv file1 file2 file3 dir
# 创建文件file,如果已经存在则更新创建时间
touch file
#删除文件以及目录下的文件
rm file
rm -rf /dir
#将参数显示到标准输出,还可以输出变量以及
echo hello again
浏览目录
.
表示当前目录..
,表示上一层级目录
# 切到dir目录下
cd /dir
#创建dir目录
mkdir /dir
echo at* #打印当前目录下所有at开头的文件名
echo *at* #所有包含at的
echo *at # 所有at结尾的
# * 通配任意长度的字符串
# ? 通配单字符
# ‘*‘可以禁止通配符展开,即打印字符(*)本身
中间命令
#在passwd文件中匹配root关键字的行,并打印到标准输出流
grep root /etc/passwd
#匹配etc目录下所有包含root行的文件
grep root /etc/*
# -i表示不区分大小写匹配root,比如RooT,rOOT等
grep -i root /etc/passwd
#-v 表示反向匹配passwd文件,即打印所有不含有root的行
grep -v root /etc/passwd
#相当于cat和more的加强版,分屏浏览文件内容
less /usr/share/dict/words
# B前一屏,SPACE后一屏,q退出,/word向下搜索Word关键字,?word向上搜索Word关键字
#显示当前目录
pwd -P
#比较两文件的不同点
diff file1 file2
#查看file1文件的格式信息
file file1
#/dir目录下查找名为fileName的文件地址,并打印到终端
find /dir -name fileName
#打印file1的前10行,如果 -5,表示前5行
head file1
#打印passwd文件尾部内容
tail /etc/passwd
#排序file1的行,输出到标准流(终端)
sort file1
sort -r /etc/passwd#反向排序
基础文件系统知识
修改密码
passwd #然后输入一次旧密码,两次新密码即可修改当前用户密码
passwd root #修改root用户的密码
dot文件
即以.
开头的文件,默认隐藏,调用ll
可显示
环境变量与shell变量
STUFF=blade #给STUFF变量赋值blade,注意等号两边没空格,否则报错
echo $STUFF #打印STUFF变量
#将变量转成系统环境变量
export STUFF
- 环境环境变量与shell变量的最大区别:shell变量只在当前shell作用,环境变量整个系统都可以使用,包括一些文件配置文件等。典型的,我们常配置
$PATH
变量
命令路径
即$PATH
变量,他定义了一堆目录,目录之间以:
分割开来。在终端键入指令时,比如ls
,就会在PATH
定义的路径下搜索指令文件。如果有多个目录含有该指令,以第一个目录为准
敲命令行的一些快捷键
ctrl-b #光标左移
ctrl-f #光标右移
ctrl-p #上一个指令
ctrl-n #下一个指令
ctrl-a #光标移到指令开头
ctrl-e #移到指令结尾
ctrl-u #删除光标到开头的内容
ctrl-k #删除光标到结尾的内容
ctrl-y #粘贴前面删除的内容
帮助文档
#查看ls指令帮助文档
man ls
#查看find指令的文档
info find
#查找带sort关键字的所有指令
man -k sort
指令类型
类型代号 | 类型意义 |
---|---|
1 | 用户指令 |
2 | 系统内核函数 |
3 | lib函数库 |
4 | 接口、设备、驱动信息 |
5 | 配置文件,大多在/etc下面 |
8 | 超级用户的系统级指令 |
重定向以及管道
重定向:即将输出流的位置重新改变,常用的是该标准输出流到一个文件
#将grep的输出重定向到file1中
grep root /etc/passwd > file1
#一般的`>`会清空文件的本身内容在接受输出,使用`>>`会改为追加模式
管道:即前一个指令的输出做下一个指令输入,数据在指令之间流通就像流经不通的管道一样
# 将grep的输出内容使用sort排序,然后重定向到file1中
grep -v root /etc/passwd | sort > file1
查看、操作中进程
参数
- pid:进程id,process id
- tty:终端设备
- stat:状态,S表示sleep,R表示RUN
- time,占用CPU的时间
- command:启用这个进程的指令
查询指令
# x:当前用户占用的所有进程 ax:系统所有进程 u:更详细的进程信息 w:显示命令行全名
#下面的意思为:显示进程名含有keywords的进程
ps -aux process_keywords
终结进程
kill pid
kill -term pid
kill -stop pid #暂停进程
kill -cont pid #唤醒进程
kill -9 pid
文件权限
drwxr-xr-x的含义
文件详情的第一列,形如drwxr-xr-x
,就是描述一个文件权限的描述符,共计10位字符
- 0位,-:表示文件,d:表示目录,
l
:表示链接文件等 - 1-3:表示文件所有者的权限,r:读 w:写 x:执行
- 4-6:用户组的权限
- 7-9:其他组的权限
修改文件权限
#group other增加读权限
chmod go+r file
#设置权限为744,即读写操作-读-读
chmod 744 file
数值描述权限
- r:4
- w:2
- x:1
因此,744就是(4+2+1)-
(4+0+0)-
(4+0+0)
注意,一个目录如果没有x
权限,只能ls查看他包含的文件名称,却不能cd进去,也不能读取他里面的文件
创建符号链接
符号链接,即快捷键,给某个目录建立一个快捷键
#target:目标目录 linkname:连接符号名
ln -s target linkname
压缩、归档
压缩:将文件归为一个压缩包,降低占用空间
#压缩
gzip file
#解压
gunzip file.gz
归档:即将多个文件或者某文件夹整合为一档
# c:创建归档 v:显示细节 f:表示文件,后接文件名
tar cvf archive.tar file1 file2...
#解压归档文件 x:解压
#tar xvf achiver.tar
其实,在实际中压缩与归档可以用tar
指令一步完成,如
#解压
tar xzvf file.tar.gz
#压缩 归档
tar czvf achiver.tar.gz file1 file2...
linux目录结构
- bin:可执行文件,c编译的二进制文件和shell脚本
- sbin:超级用户的可执行文件,系统级指令
- etc:配置文件
- lib:编译动态链接库、函数等
- home,家目录,理论上每个用户都在下面有个家
- dev:接口设备文件
- proc 和 sys:系统信息如进程信息等
- var:运行时信息,日志、缓存、用户信息等
- usr:大量系统文件,复杂
- boot:启动的内核加载文件
- media:可插拔设备文件
- opt:第三方软件目录,很多系统没有这个目录
usr目录
存放用户空间的进程和数据
- usr/bin 和 usr/sbin:用户使用的一些指令
- usr/lib:链接库
- include:c的哄文件(*.h)
- info:指令文档
- man:指令文档
- local:管理员装软件的地方
内核位置
系统内核在vmlinuz或者boot/vmlinuz中
超级用户
通过修改etc/sudoers
文件,可以添加拥有超级权限的普通用户。这个用户只需要敲sudo
即可执行root权限
参考
- 《精通linux第二版》
以上是关于linux 终端打印内容输出到文件的主要内容,如果未能解决你的问题,请参考以下文章