linux学习笔记文档格式.docx
《linux学习笔记文档格式.docx》由会员分享,可在线阅读,更多相关《linux学习笔记文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
~$vinew_name.txt
ASCIItext
文件压缩
通过压缩算法将文件体积缩小,同时将多个文件合并至一起方便传输,交换。
文件打包
将多个文件或者目录合并成一个文件,用来进行文件的备份,分发,传输。
Linux支持的文件的压缩格式
*.Z,compress程序压缩文件
*.gz,gzip程序压缩文件
*.bz2,bzip2程序压缩文件。
*tar,tar程序打包文件,并未压缩
*tar.gz,tar程序打包归档,使用gzip压缩
*.tar.bz2,tar打包文件,使用bzip2压缩。
linux的权限
只读权限,r(read)
只写权限,w(write)
可执行权限,x(execute)
linux权限设定。
使用管理员账号,进入root目录,创建文件夹DFLX,在进入dflx创建dflx1,2,3三个文件。
root@satan-master:
/#cd~
~#pwd
/root
~#ls-l
总用量20
drwxr-xr-x3rootroot409611月822:
44CLionProjects
drwxr-xr-x5rootroot409611月707:
51Desktop
drwxr-xr-x3rootroot409611月808:
03IdeaProjects
drwxr-xr-x3rootroot409611月1722:
35Music
drwxr-xr-x4rootroot409611月702:
38workspace
~#mkdirdflx
总用量24
drwxr-xr-x2rootroot40962月610:
29dflx
~#cddflx
~/dflx#mkdirdflx1
~/dflx#touchdflx2
~/dflx#touchdflx3
~/dflx#ls-l
总用量4
30dflx1
-rw-r--r--1rootroot02月610:
30dflx2
30dflx3
查看dflx的权限:
drwxr-xr-x
~/dflx#cd..
drwxr-xr-x3rootroot40962月610:
30dflx
将dflx的owner的写权限去掉
~#chmodu-wdflx
drwxr-xr-x5rootroot409611月707:
dr-xr-xr-x3rootroot40962月610:
增加dflx的group的write权限
~#chmodg+wdflx
dr-xrwxr-x3rootroot40962月610:
将dflx的owner,group,others的execute权限去掉
~#chmodugo-xdflx
dr--rw-r--3rootroot40962月610:
将dflx的owner,group,others的execute权限增加
~#chmoda+xdflx
给dflx的owner赋值writer权限
~#chmodo=wdflx
dr-xrwx-w-3rootroot40962月610:
去掉dflx的owner,group,others所有的权限,可以看出子目录不受影响
~#chmoda=dflx
d---------3rootroot40962月610:
~#ls-ldflx
给dflx的owner,group,others所有的权限,采用递归方式,子目录受影响
~#chmod-Ra+rwxdflx
drwxrwxrwx2rootroot40962月610:
-rwxrwxrwx1rootroot02月610:
~#ls-ls
4drwxr-xr-x3rootroot409611月822:
4drwxr-xr-x5rootroot409611月707:
4drwxrwxrwx3rootroot40962月610:
4drwxr-xr-x3rootroot409611月808:
4drwxr-xr-x3rootroot409611月1722:
4drwxr-xr-x4rootroot409611月702:
去掉dflx的owner的write权限。
~#chmod577dflx
dr-xrwxrwx3rootroot40962月610:
去掉dflx的owner,group,other的所有write权限。
~#chmod555dflx
其子目录的权限没有受到影响
采用递归授权的方法。
~#chmod-R555dflx
dr-xr-xr-x2rootroot40962月610:
-r-xr-xr-x1rootroot02月610:
bashshell编程。
变量:
代表一些值的符号,存在内存中,linux有自定义变量(local)和环境变量(environment),它们的作用范围不同。
set命令,查看所有变量
~$set
BASH=/bin/bash
BASHOPTS=checkwinsize:
cmdhist:
complete_fullquote:
expand_aliases:
extglob:
extquote:
force_fignore:
histappend:
interactive_comments:
progcomp:
promptvars:
sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION_COMPAT_DIR=/etc/bash_completion.d
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="
4"
[1]="
[2]="
7"
[3]="
1"
[4]="
release"
[5]="
x86_64-pc-linux-gnu"
)
BASH_VERSION='
4.4.7
(1)-release'
CLASSPATH=.:
/usr/java/jdk-9.0.1/lib/dt.jar:
/usr/java/jdk-9.0.1/lib/tools.jar
CLUTTER_IM_MODULE=xim
COLORTERM=truecolor
COLUMNS=80
env查看环境变量
~$env
LS_COLORS=rs=0:
di=01;
34:
ln=01;
36:
mh=00:
pi=40;
。
设置变量
varName=value;
$varName来获取变量的值
~$key=666;
~$echo$key
666
unsetvarName释放变量。
~$unsetkey
通过别名(aliases)设置。
$aliaslss=’ls-l’”
~$typell
ll是`ls-alF'
的别名
~$aliascls="
clear"
~$cls
~$typecls
cls是`clear'
通过alias来查看所有的别名。
~$alias
aliasalert='
notify-send--urgency=low-i"
$([$?
=0]&
&
echoterminal||echoerror)"
"
$(history|tail-n1|sed-e'
\'
'
s/^\s*[0-9]\+\s*//;
s/[;
|]\s*alert$//'
)"
aliascls='
clear'
aliasegrep='
egrep--color=auto'
aliasfgrep='
fgrep--color=auto'
aliasgrep='
grep--color=auto'
aliasl='
ls-CF'
aliasla='
ls-A'
aliasll='
ls-alF'
aliasls='
ls--color=auto'
使用alias名称查看alias值。
~$aliasll
unaliasname删除别名定义。
~$unaliascls
~$aliascls
bash:
alias:
cls:
未找到
通过环境变量来设置。
自定义变量只能在当前的shell环境有效。
环境变量会在整个主机下的shell环境生效。
使用$export[varNamename]来设置
常用变量介绍
HOME:
指向当前用户的家目录。
LANG:
应用程序使用的何种语言来显示界面。
PWD:
指向当用户当前的工作目录路径。
PATH环境变量
系统预设的环境变量
执行一些没有指定路径的指令时会去该路径查找。
PATH=$PATH.:
将隐藏路径设置到PATH中
相关概念
标准输入(stdin)是指令数据的属于,代码为0,使用<
或者<
<
默认键盘。
标准输出(stdout)是指令执行成功返回的结果,代码为1,使用>
或者>
>
默认由屏幕显示。
标准错误输出(stderr)是指令执行失败返回的错误信息,代码为2,使用2>
或者2>
,默认屏幕显示。
~$ls-la/dev/std*
lrwxrwxrwx1rootroot152月282018/dev/stderr->
/proc/self/fd/2
lrwxrwxrwx1rootroot152月282018/dev/stdin->
/proc/self/fd/0
lrwxrwxrwx1rootroot152月282018/dev/stdout->
/proc/self/fd/1
多个指令执行的判断方法。
bash1&
bash2(前者执行成功才会执行后者)
bash1||bash2(前者执行完毕且失败才会执行后者)
~$mkdirfile1||mkdirfile2
只会创建file1,不会创建file2.
mkdir:
无法创建目录"
file1"
:
文件已存在
创建file2
~$mkdirfile3&
mkdirfile4
同时创建file3和file4.
管道命令的使用
命令通过管道符|链接
能够接收标准输入(stdin),如tail/