linux初学笔记

文章目录

  • linux初学笔记
    • 1、shell连接centos
    • 2、linux命令行
      • 1、内部命令与外部命令的区别
      • 2、命令行格式
    • 3、linux命令提示符
    • 4、目录分隔符
    • 5、linux目录文件夹
      • /etc常用目录
      • /proc重要路径
      • /var目录下文件
    • 6、linux核心命令与文件管理
      • cd命令
      • ls命令
      • pwd命令
      • su命令
      • logoult命令
      • mkdir命令
      • touch命令
      • cp命令
      • mv命令
      • rm命令
      • linux开关机命令
      • linux命令行常用快捷键
      • 管道符
      • du命令
      • alisa命令
      • unalisa命令
      • ln命令
      • echo命令
      • which命令
      • cut命令
      • sort命令
      • uniq命令
      • tr命令
      • find命令
      • xarge 管道命令
      • exec命令
      • chmod命令
      • chmon命令
      • umask命令
      • chattr命令

1、shell连接centos

ip add show              ##查看IP地址
ssh 用户名@IP地址         ##远程连接

配置linux静态IP连接shell

shell解释器,帮助我们给内核翻译成二进制,再把处理结果返回我们能看懂的文件

2、linux命令行

命令 空格 参数(可写可不写) 空格 文件,文件夹(可写可不写)
ls
列出文件夹中的内容
/opt 根目录下的opt文件夹
ls -a
all显示所有文件以及隐藏文件
/opt
ls -a 如果不写则输出一个点,当前文件夹的内容
ls
ls -a -l
显示什么时间的文件

基本用法如上

  • 一般情况下,iux命令的参数,都是可选的,可写可不写,不同的参数作用也不一样
  • Linux命令之间,必须得有一个或者多个空格

1、内部命令与外部命令的区别

tips:内部命令,系统自带

​ 外部命令,需要安装外部翻译器

2、命令行格式

小结
■Shel在用户和内核之间充当“翻译官
■Linuxi命令分为内部命令和外部命令
■获得Linuxi命令帮助的方法(help/man)

命令行提示字符
[root@localhost ~]
[当前登录系统的用序@主机名称当前所在的目录]#
#表示为管理员登录
$表示为普通用户登录

切换用户
su用户名 #切换后所在目录不变
su-用户名 #切换后所在目录变成用户家目录

查看当前主机的完整名称 hostname
临时设置主机名 hostname主机名
永久设置主机名 hostnamectl set-hostname主机名 su/bash(类似刷新的作用)

或vi/etc/hostname(设置完后需重启系统才生效)
按i键先删除旧主机名,再输入新主机名(只有第一行有效)
按ESC键,再按SHIFT+:”组合键,输入wq,再按回车键退出

重启init -6

查看当前系统版本信息 cat /etc/redhat-release或cat /etc/*release

查看当前内核版本 uname -r

3、linux命令提示符

whoami ##我是谁,显示当前登录的用户

hostname ##显示当前机器的主机名

pwd ##显示当前的工作目录绝对路径

4、目录分隔符

Windows: C:\UsersXXXXX ##反斜杠

linux: /etc/sysconfig/network-scripts

##第一个斜杠代表路径的起点,根目录
第二个斜杠开始,就是目录之间的一个分割符号

5、linux目录文件夹

■树形目录结构
■根目录
所有分区、目录、文件等的位置起点
整个树形目录结构中,使用独立的一个“/”表示
■常见的子目录
/root #root的宿主目录

/bin #所有用户可执行的命令

/boot #系统内核,启动文件

/dev #设备文件

/etc #配置文件

/home #普通用户的宿主目录

/var #日志文件等

/usr #应用程序

/sbin #管理员可执行的管理命令

/etc常用目录

/etc/inittab:系统启动设定运行级别等配置的文件
/etc/profile及letc/bashrc:配置系统的环境变量/别名等的文件
/etc/profile.d:用户登录后执行的脚本所在的目录
/etc/issue和/etc/issue.net:配置在用户登录终端前显示信息的文件
/etc/init.d:软件启动程序所在的目录(centos 6)
/usr/lib/systemd/system/软件启动程序所在的目录(centos 7)
/etc/motd:配置用户登录系统之后显示提示内容的文件
/etc/redhat-release:声明RedHat版本号和名称信息的文件
/etc/sysctl.conf:Linux内核参数设置文件

/proc重要路径

/proc/meminfo:系统内存信息
/proc/cpuinfo:关于处理器的信息,如类型,厂家,型号,性能等
/proc/loadavg:系统负载信息,uptime的结果
/proc/mounts:已加载的文件系统的列表

/var目录下文件

/var/log:记录系统及软件运行信息文件所在的目录
/var/log/messages:系统级别日志文件
/var/log/.secure:用户登录信息日志文件
/var/log/.dmesg:记录硬件信息加载情况的日志文件

6、linux核心命令与文件管理

cd命令

更改目录的意思(change directory)cd语法
cd 可选的参数 文件夹几个特殊的目录
.   当前的工作目录
..  上一级的工作目录
-   上一次的工作目录
~   当前系统登陆的用户目录

ls命令

list 列出文件夹中的内容
ls语法
ls 可选参数可选文件夹对象-a  all的意思,显示出所有的文件内容和隐藏内容
-l  详细输出文件夹中内容
-h  以人类可阅读的形式,输出文件大小
--full-time 以完整的时间格式输出
-t  根据最后修改的时间排序文件
-F  在不同的文件结尾,输出不同的特殊符号以/结尾的就是文件夹以*结尾的就是可执行的文件以e结尾的就是软连接,快捷方式普通文件类型,结尾什么都没有
-d  显示文件夹本身信息,不输出其中的内容
-r  reverse逆转排序
-S  大写的S,针对文件大小进行排序,默认是从大到小
-i  显示出文件的inonde信息(文件的身份证,存储了文件的元信息,文件的大小,位置,权限等待)
-R  递归显示
-A   --almost-all# 显示除 "." 和 ".." 外的所有文件。
-color
黑色:txt
蓝色:目录
绿色:可执行文件
白色:一般性文件,如文本文件,配置文件等
红色:压缩文件或归档文件
浅蓝色:链接文件
红色闪烁:链接文件存在问题
黄色:设备文件
青黄色:管道文件

pwd命令

print work directory 打印工作目录
会输出当前所处的一个绝对路径

su命令

su 用户切换命令
su语法su - 用户名    #完全的环境变量用户切换

logoult命令

退出访前系统用户

mkdir命令

make director创建文件夹
语法
mkdir 文件夹名批量创建文件夹
1、mkdir {a,b,c,d}   ##批量创建abcd
2、mkdir a{1..100}   ##批量创建a1~a100(bash脚本语法)-p   递归创建文件夹
mkdir -p /XX/XX/XX  ##递归创建文件夹,且绝对路径是/XX/XX/XX

touch命令

用法:touch[选项]...文件...
将每个文件的访问时间和修改时间改为当前时间
touch有两个作用
1.创建普通文件,在linux下的后缀格式是个名字而已,通过透彻创建的都是普通文件
2.修改文件的时间
不存在的文件将会被创建为空文件,除非使用-c或-h选项。
touch{连续数字或字母}创建多个文件序列
touch {1..10}
touch {a..Z}
-c, --no-create不创建任何文件
-t  STAMP使用[[cc]YY]MMDDhhmm[.ss】格式的时间替代当前时间
-r  --reference=文件使用指定文件的时间属性替代当前文件时间

cp命令

copy
用法:cp[选项]...[-T]源文件 目标文件或:CP[选项]...源文件...目录或:cp[选项]...-t目录 源文件...
将源文件复制至目标文件,或将多个源文件复制至目标目录。-r    递归式复制目录,即复制目录下的所有层级的子目录及文件-p复制的时候保持属性不变
-P  等于--preserve=模式,所有权,时间戳,复制文件时保持源文件的权限、时间属性
-i, --interactive覆盖前询问提示
-d  复制的时候保持软连接(快捷方式)
-a  等于-pdr
-f  覆盖目标同名文件或目录是不进行提醒,直接强制复制先匹配-i,-f里面的底层代码里面包含了与用户交互,如果加了-i,通俗的讲就是被激活了,所以先匹配-i
案例
1.复制普通文件
cp命令    你想复制哪个文件    复制之后的文件名2.复制普通文件,且改名,放入到另一个文件夹中
cp  mjj.txt     ./kgc/      ##复制放入其他文件夹,保留源文件名
CP  mjj.txt     ./kgc/mjj.txt2      ##复制文件放入其他文件夹,且改名3.一次性复制多个文件夹,放入另一个文件夹
cp  mjj.exe mjj.gif     ./mjj/4.复制整个文件夹
cp -r   mjj mjj25.复制且保持文件属性不变
-p  参数的用法
cp -p chaoge.txt changge.txt.36.拷贝软链接时,保持连接属性不变
-d  参数用法
cp -d   link_abc    link_abc17.覆盖文件前提示
cp-i 文件1瞭文件2#如果文件2已经存在,则会覆盖,-i会让用户进行输入y确认覆盖
alias  "CP"=“cp -i"

mv命令

mv命令就是move的缩写,作用是移动或是重命名文件用法:mv[选项]...[-T]源文件目标文件或:mv[选项]...源文件...目录或:mv[选项]...-t目录源文件...
将源文件重命名为目标文件,或将源文件移动至指定目录。-f,--force     覆盖前不询问
-i,--interactive    覆盖前询问

案例

移动或者重命名时iNode值不会发生变化

1.移动文件到另一个文件夹
mv   ./mjj.j    ./o1dboy    #吧当前的mjj.jj文件移动到o1dboy文件夹中2.移动多个文件,放到另一个文件夹中
mv luffy*   ·/o1dboy/#讲当前目录所有以1uffy开头的文件,文件夹,都移动到o1dboy目录下去3.重命名的用法
mv  旧的文件名   新的文件名
mv  mjj.txt     mjj.txxxt4.-i参数的用法,覆盖前询问
mv在直接输入的时候,系统做了别名alias,其实敲得是mv-i5.强制性覆盖  -f
mv  -f  mjj.txxxt  mjj.exe  #覆盖且不提示

rm命令

rm命令就是remove的含义,删除一个或者多个文件,这是Linux系统重要命令
-f,--force  强制删除。忽略不存在的文件,不提示确认
-i  在删除前需要确认
-I  在删除超过三个文件或者递归删除前要求确认。
-d,--dir    删除空目录
-r,-R,  --recursive 递归删除目录及其内容
-V, --verbose   详细显示进行的步骤   --help  显示此帮助信息并退出--version 显示版本信息并退出

案例

1.删除普通文件,默认添加了-i参数
rm chaoge.txt   ,删除前会提问,是否要删除2.一次性删除多个文件
rm  chaoge.txt.2    chaoge.txt.3    #删除多个文件,写入多个名字,空格分割就好3.删除文件夹,必须给rm添加   -r参数才行,默认rm只能删除文件类型
rm -r mjj   #删除mjj文件夹,以及里面的内容4.-d参数,只能用于删除空文件夹
rm -d ilovelinux/5.强制删除文件,且不提示
rm -f mjj*  #强制删除以mjj开头的文件,文件夹无法删除6.强制删除所有的文件和文件夹
xm -f -r ./*    #一定要看清楚了这个命令,写的是否正确
这里重要的事要说三遍
这里重要的事要说三遍
这里重要的事要说三遍
.当前目录
/根目录
./当前目录下的某内容
rm  -rf  /  #强制性删除根目录下所有内容,非常危险,严谨敲打,删除机器所有内容
rm -rf ./   #强制性删除,相对路径,当前目录下的所有内容
rm -rvf ./  # 7.-V参数,显示删除的过程
[root@luffycity opt]# rm -rfv ./*  #强制性删除当前目录所有内容,且显示过程

linux开关机命令

shutdown重启或者关机

1.重启
语法:
shutdown -r参数   -r --reboot Reboot the machine
shutdown -r 10  #十分钟后重启
shutdown -r 0   #立刻重启
sutdown -r now  #立刻重启
----------------
reboot  #立即重启2.关机
语法:
shutdown -h --halt停止的含义
shutdown-h10    #十分钟后共机
shutdown -h 0
shutdown-h now  #立即关机

linux命令行常用快捷键

ctrl c   cancel取消当前操作
ctrl l  清空屏幕内容
ctrl d  退出当前用户
ctrl a  光标移到行首
ctrl e  光标移到行尾
ctrl u  删除光标到行首的内容

重定向符号

符号 解释
重定向的意思是,“将数据传到其他地方”
> 输出覆盖重定向
>> 输出追加重定向
<或<< 标准输入重定向

案例

1.读取文件内容,且写入到另一个人间中
cat douying.txt > kuaishou.txt2.追加写入文件内容
cat douying.txt >>kuaishou.txt3.重定向写入符
cat < douyin.txt     #把文件中的数据,发送给cat命令去读取将文本内容才分成多行
xargs命令xargs -n 4 < shuzi.txt    #把文本内容拆多行4.重定向追加写入符<<
可以结合cat命令使用
cat >> gushi.txt << EOF

管道符

1.对字符串进行二次过滤
查看gushi.txt文档的内容,且对内容进行二次过滤,找出有关know me 的行
[rooteluffycity tmp]# cat gushi.txt grep "know me"
Don't you know me
Don't you know me by now.

du命令

统计指定目录所占磁盘空间大小-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h  以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果
-s  只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小

alisa命令

通过别名机制简化常用的、比较长的命令
alisa 命令别名 = 命令
alias myls=‘ls-alh’

unalisa命令

删除别名unalias [-a] name [name ...]-a 删除所有别名

ln命令

为文件或目录建立链接文件,类似于Windows系统的快捷方式软链接
硬链接
-s, --symbolic              对源文件建立符号链接,而非硬链接;

案例

1./usr/local/nginx/sbn/nginx  --》外部
// 给nginx建立一个可以全局访问的软连接
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx2.[root@chenlei opt] #ln -s demo.txt  test.txt       #创建软链接
100873008 demo.txt  100873030 test.txt3.[root@chenlei opt] # ln demo.txt test.txt      #创建硬链接

ln命令

软链接建立时原始文件可以不存在
如果删除源文件之后又重新建立源文件,那么软链接照样可以用
软链接文件的大小就是软链接文件本身的文件名字符长度!
可以给目录做软链接,为了防止目录被删硬软区别
硬链接不能跨分区建立连接无法对文件夹创建
删除硬件连接可以继续访问硬链接
软连接可以跨设备可以支持文件夹
软连接删除源文件不能访问硬链接:
一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。这意味着,可以用不同的文件名访问同样的内容:对文件内容进行修改,会影响到所有文件名:但是,删除一个文件名,不影响另一个文件名的访问。这种情况就被称为"硬链接"(hard1ink)软链接:
除了硬链接以外,还有一种特殊情况。文件A和文件B的inode号码虽然不一样,但是文件A的内容是文件B的路径。读取文件A时,系统会自动将访问者导向文件B。因此,无论打开哪一个文件,最终读取的都是文件B。这时,文件A就称为文件B的"软链接"(sof
t link)或者"符号链接(symbo1ic1ink)。这意味着,文件A依赖于文件B而存在,如果删除了文件B,打开文件A就会报错:"No such file ordirectory"。这是软链接与硬链接最大的不同:文件A指向文件B的文件名,而不是文件B的inode号码,文件B的inode"链接数"不会因此发生变化。

小结

软连接、硬链接区别
软连接相当于快捷方式

  • 查询过程:软连接指向的是源文件的文件名,然后在从原文件找到对应的inode值,最后找到数据,并读出出来
  • 源文件删除软连接失效
  • 源文件or软连接文件修改会影响所有文件内容
  • 源文件与软连接文件的innode值不一致(软连接的inode值的内容仅指向原文件的文件名)
  • 软链接可对文件或目录进行创建符号链接

  • 查询过程:访问硬链接文件,硬链接文件指向inode值(与源文件相同),再指向数据
  • 源文件删除硬链接依然可用
  • 源文件or软连接文件修改会影响到所有文件内容(相同点)
  • 源文件与硬连接文件的innode值相同
  • 硬链接仅能对文件进行创建(对目录不行)

echo命令

1.[root@chenlei opt] #echo “abc” > demo.txt      #快速新建一个文件并写入内容(覆盖)

which命令

查找并显示给定命令的绝对路径,查找命令/文件存放目录
搜索范围由环境变量PATH决定(echo$PATH)
which 命令|程序名
which -a命令程序名
示例
which ls
which cd

cut命令


在文件的每一行中提取片段

在每个文件file的各行中,把提取的片段显示在标准输出

语法
cut 【参数】【数值区间】文件
-b  #以字节为单位分割
-n  #取消分割多字节字符,与-b一起用
-C  #以字符为单位
-d  #自定义分隔符,默认以tab为分隔符
-f  #与-d一起使用,指定显示哪个区域
N   #第N个字节,字符或字段,从1计数起
N-  #从第N个字节,字符或字段直至行尾
N-M #从第N到第M(并包括第M)个字节,字符或字段
-M  #从第1到第M(并包括第M)个字节,字符或字段

案例

1.截取每行第四个字符
cut -c  4  demo.txt2.截取4到6个字符
cut -c 4-6 demo.txt3.截取第5和7的字符
cut -c 5,7 alex.txt4,截取一个范围的字符,如第四个到结尾
cut -c 4- alex.txt5.截取一个范围的字符,如开头到第六个字符
cut -c -6 alex.txt6,指定分隔符号,进行截取
cut -d":”-f 区域范围 alex.txt找出第三个区域的内容
cut -d ":" -f 3 alex.txt找出开头到第三个区域的内容
cut -d ":" -f  -3 alex.txtcut -d ":"-f -4 password | head -5(还没理解)

sort命令

sort命令将输入的文件内容按照规则排序,然后输出结果用法:sort【选项】...【文件】...
或:sort【选项】...--file80-from=F
串联排序所有指定文件并将结果写到标准输出。-b,--ignore-leading-blanks #忽略前导的空白区域
-n,--numeric-sort           #根据字符串数值比较
-r,--reverse                #逆序输出排序结果
-u,--unique                 #配合-c,严格校验排序;不配合-C,则只输出一次排序结果
-t,--field-separator=分隔符  #使用指定的分隔符代替非空格到空格的转换
-k,--key=位置1[,位置2]       #在位置1开始一个k©y,在位置2终止(默认为行尾)

案例

1,对文件第一个字符进行排序,默认从小到大
sort -n file.txt2.对排序结果反转,从大到小排序
sort -n -r file.txt3.对排序结果去重
sort -u file.txt4.指定分割符号,进行排序,从小到大排序
sort -n -t ".” -k 4 ip.txt

uniq命令

uniq命令可以输出或者忽略文件中的重复行,常与sort排序结合使用用法:unig[选项]...[文件]
从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出。不附加任何选项时匹配行将在首次出现处被合并。
-c,--count      #在每行前加上表示相应行目出现次数的前缀编号
-d,--repeated   #只输出重复的行
-u,--unique     #只显示出现过一次的行,注意了,unig的只出现过一次,是针对-c统计之后的结果

案例

1.去除连续重复的行
uniq    file.txt2.结合sort实用,去重更精准
sort -n file.txt|uniq3.统计每一行重复次数
sort -n file.txt |uniq -c4.之找出文件中重复行,且统计出现次数
sort -n file.txt |uniq -c -u

tr命令

tr命令从标准期入中替换、缩减或别除字符,将结果写入到标准输出
用法:tr[选项]...SET1[SET2]
从标准输入中替换、缩减和/或别除字符,并将结果写到标准输出。
字符集1:指定要转换或制除的原字符集。
当执行转换操作时,必须使用参数“字符集2“指定转换的目标字符集。
但执行削除操作时,不需要参数“字符集2”:
字符集2:指定要转换成的目标字符集。
-c或一complerment     #取代所有不属于第一字符集的字符;
-d或一delete          #削除所有属于第一字符集的字符;
-s或--squeeze-repeats #把连续重复的字符以单独一个字符表示:
-t或--truncate-setl   #先别除第一字符集较第二字符集多出的字符。

案例

1.替换标准输入中的大小写
[rootepylinux tmpl#echo "my name is alex" tr '[a-z]''[A-Z]'2.使用-d 删除参数
[rootepylinux tmp]#echo "my name is alex and i am 9999 years old"I tr -d 'a-z'
9999
[rootepylinux tmp]#echo "my name is alex and i am 9999 years old" | tr -d 'a'
my nme is lex nd i m 9999 yers old3.把文件当做标准输入,进行字符替换
【rootepylinux tmp】#tr'a''A'< alex.txt
my nAme is Alex 。
i like leArning python And linux.4.把连续重复字符以单独字符表示
[root@pylinux tmp]#echo "iiiii am aaaaaalllllexxxx" | tr -s
'iax‘
am alllllex

find命令

find[查找范围][查找条件表达式]
-name   #按名称查找:根据目标文件的名称进行查找,允许使用“*”及“?”通配符
-size   #按大小查找:根据目标文件的大小进行查找
—般使用“+”.“-”号设置超过或小于指定的大小作为查找条件常用的容量单位包括kB (注意k是小写)、MB、GB
-user   #按文件属主:
-type       #按类型查找:普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)、链接(1)、管道文件(p)、socket文件(s)
块设备指的是成块读取数据的设备(如硬盘、内存等),而字符设备指的是按单个字符读取数据的设备(如键盘、鼠标等)

案例

1.find工具-name参数案列:
find /etc -name "resol*.conf" #查找
find /data/ -name “*.txt”       #查找txt结尾的文件
find /data/ -name "[A-Z]*"        #查找有大写字母的文件
find /data/ -name "test*"     #查找文件含有test的文件
find ./-name "[a-zA-Z].txt"       #找到文件中有大写字母和小写字母的txt文件。2.size参数案例
find /data/ -size +1M  #查文件大小大于1Mb的文件:
find /data/ -size 4M    #查文件大小为3-4M的文件:
find /data/ -size -1M   #查文件大小小小于1mb的文件:-size +4M 表示4M 以上 不包括4M         >4
-size  4M 表示3M 到4M 且不包括3M       3<x<=4
-size -4M 表示3M 以内 包括3M          x<=3
1G 1024代表1023M-1024M 不包括1023M3.-type
find /boot-type
find /data/ -type   d   #查找data目录下的文件夹
find /data/ ! -type  d  #查找data目录下的非文件夹(反向查找)
find /data/ -type l     #查找data目录下的链接文件
find /data/ -type d|xargs chmod 755 -R  #查目录文件并将权限设置为755
find /data/ -type f|xargs chmod 644 -R  #查文件类型并将权限设置为6444.查找存在的用户文件
find /home-user 用户名
find /home-user 用户名 -group 组名5.-a  -o  前者表示两个条件是和的关系,后面和或的关系6.find ./ -name "suslog.*.gz" -mtime -5 -exec ls -lh{} \;  #找到当前目录下名字带有suslog.*gz 五天之内的文件并查看详细信息
+5五天以上
+5五天以内
\转义符7.查找除了次文件的另外是TXT的文件
find . -path "./file" -orune -o -name "*.txt" -print8.执行一段命令并给用户一个提示
find 。 -type f -name “*.txt” -ok rm{} \;    #找到.txt 的文件类型 并逐个询问是否删除-----------------------------------------------------------
管道符扩展
| 管道符:从左往右 依次执行1.find /etc/ -size 4M | xargs du -a   #查找文件在3-4M 并把这些作为参数查看文件大小。2.find /etc -size +10M | xargs rm-rf {} #删除etc目录下10M以上的文件合集
-----------------------------------------------------------
生产案列
find /backup/ -type f -name "*.log" -exec rm { } \;
#删除备份文件
find /backup/ -type f -name "* .dmp" -exec rm { } \;  #删除日志文件
find /backup/ -type f -name "*.tar.gz" -mtime +5 -exec rm -rf {} \;#删除5天前的备份(注意:{}\中间有空格)

xarge 管道命令

xargs又称管道命令,构造参数等。
是给命令传递参数的一个过滤器,也是组合多个命令的一个工具它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理。

简单的说就是把其他命令的给它的数据,传递给它后面的命令作为参数

-d为输入指定一个定制的分割符,默认分隔符是空格
-i用{}代替传递的数据
-I string用string来代替传递的数据-n[数字]设置每次传递几行数据
-n选项限制单个命令行的参数个数
-t显示执行详情
-p交互模式
-Pn允许的最大线程数量为n
-s[大小]设置传递参数的最大字节数(小于131072字节)
-×大于-s设置的最大长度结束xargsi命令执行
-0,--nu11项用nu11分隔,而不是空白,禁用引号和反斜杠处理

案例

1.-n 限制单行输出n个字符
xargs < file.txt     #把file.txt文件单行输出
xargs -n 2 < file.txt    #file单行输出2个2.-d 制定分隔符
echo "a,b,c,d" | xargs -d ","
a b c d                 #以空格作为分隔符输出abcd3.-i {}替代传输的数据
find .-name  "*.txt" | xargs -i mv {} alltmptxt/4.-I  用字符串替换数据
find . -name "*.txt" | xargs -I alltxt mv alltxt ./
#查找.txt文件 命名为alltxt,把这些数据移动到当前来

exec命令

调用并执行指定的命令
exec命令 用于调用并执行指令的命令。exec命令通常用在shell脚本程序中,可以调用其他的命令。如果在当前终端中使用命令,则当指定的命令执行完毕后会立即退出终端。可将前面的内容作为参数放在后面命令的{}中

chmod命令

chmod命令用来变更文件或目录的权限。在UNiX系统家族里,文件或目录权限的控制分别以读取、写入、执行RWX3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。
权限范围:操作对像
u文件属主权限
g同组用户权限
o其它用户权限
a所有内户(包括以上三种)权限设定
+增加权限
-取消权限
=唯一设定权限权限类别
r读权限
w写权限执行权限
×表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
s文件属主和组id
i 给文件加锁,使其它用户无法访问r-->4
w-->2
x-->1

案例

1.#文件属性的修改
chmod a=r filename.txt
chmod 444 filename.txt
#一次性修改文件的user group other 的权限为 r ,只读

chmon命令

修改文件属主、数组信息

语法:chown alex test.txt   #文件属于alex
chown :组 test.txt  #修改文件属组
chown 用户:组        #修改参数
-R,--recursive
递归处理所有的文件及子目录-v,--verbose
为处理的所有文件显示诊断信息

案例

#学习chown命令,修改文件的属主
-r--------1 root root 0 11月 16 16:42 chaoge.t×t#语法
chown新属主的名字 文件/文件夹
chown :属组  文件   #修改文件的用户组
chown 属主:属组      #同时修改属主属组
-R                  #递归修改文件的属组属主 1.#修改chaoge.txt的属主,为yu2用户
chown yu2 chaoge.txt
-r--------1 yu2 root 0 11月 16 16:42 chaoge.t×t2.chown :yu chaoge.txt
-r--------1 yu2 yu 0 11月 16 16:42 chaoge.t×t3.chown root:root chaoge.txt
-r--------1 root root 0 11月 16 16:42 chaoge.t×t

umask命令

umask命令用来限制新文件权限的掩码。也称之为遮罩码,防止文件、文件夹创建的时候,权限过大当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行,并自动设置掩码改变默认值,新的权限将会把旧的覆盖。umask默认配置在/etc/profile 61-64行
语法参数
-S:以字符的形势显示当前的掩码。
-p:带umask开头以数字的形势显示当前掩码

计算umask文件权限

系统默认umask数值对应的权限文件夹/文件最大777linux 默认创建文件最大权限是666文件最大权健-umask的值,得出文件的权限

案例

1.用root用户创建了文件夹mkdir
drwxr-xr-x 2 root root 4096 11月16 17:10 test_umask
7552.root创建文本,默认权限如下touch
-rw-r--r-- 1root root 011月16 17:12 test_umask.txt
6443.通过普通用户yu2创建文件通过普通用户yu2创建文件夹
drwx rwx r-x 2 yu2 yu2 4096 Nov 16 17:14 yu2_umask
775-rw-rw-r-- 1 yu2 yu2 Nov 16 17:14 yu2_umask.txt
6644.通过root执行umask命令,查看遮罩码的值
[root@chaogelinux tmp]# umask
0022计算初始文件、文件夹的权限如下
文件最大权限-umask的值,得出文件的权限
666-022
文件最大权限是644文件夹,root创建的最大默认权限是777,减去umask的值之后,得出如下777-022
文件夹权限是7555.通过普通用户创建文件、文件夹的默认权限计算
[yu2@chaogelinux ~]umask
0002文件夹最大权限 666
普通用户文件权限664
文件夹权限775

chattr命令

chattr 命令用于更改文件的扩展性,比chmod更改的rwx权限更底层a:只能向文件中添加数据。不得删除
-R:递归更改目录属性
-V:显示命令执行过程模式
+增加参数
-移除参数
=更新为指定参数
A不让系统修改文件最后访问时间
a只能追加文件数据,不得删除
i文件不能被删除、改名、修改内容

权限将会把旧的覆盖。

umask默认配置在/etc/profile 61-64行


语法参数
-S:以字符的形势显示当前的掩码。
-p:带umask开头以数字的形势显示当前掩码


计算umask文件权限

系统默认umask数值对应的权限
文件夹/文件最大777
linux 默认创建文件最大权限是666

文件最大权健-umask的值,得出文件的权限


案例

1.用root用户创建了文件夹mkdir
drwxr-xr-x 2 root root 4096 11月16 17:10 test_umask
755

2.root创建文本,默认权限如下touch
-rw-r–r-- 1root root 011月16 17:12 test_umask.txt
644

3.通过普通用户yu2创建文件通过普通用户yu2创建文件夹
drwx rwx r-x 2 yu2 yu2 4096 Nov 16 17:14 yu2_umask
775

-rw-rw-r-- 1 yu2 yu2 Nov 16 17:14 yu2_umask.txt
664

4.通过root执行umask命令,查看遮罩码的值
[root@chaogelinux tmp]# umask
0022

计算初始文件、文件夹的权限如下
文件最大权限-umask的值,得出文件的权限
666-022
文件最大权限是644

文件夹,root创建的最大默认权限是777,减去umask的值之后,得出如下777-022
文件夹权限是755

5.通过普通用户创建文件、文件夹的默认权限计算
[yu2@chaogelinux ~]umask
0002

文件夹最大权限 666
普通用户文件权限664
文件夹权限775


### chattr命令

chattr 命令用于更改文件的扩展性,比chmod更改的rwx权限更底层

a:只能向文件中添加数据。不得删除
-R:递归更改目录属性
-V:显示命令执行过程

模式
+增加参数
-移除参数
=更新为指定参数
A不让系统修改文件最后访问时间
a只能追加文件数据,不得删除
i文件不能被删除、改名、修改内容

第一章、linux入门及基本命令(案例讲解)相关推荐

  1. Linux_第1章 Linux入门

    第1章 Linux入门 首先要感谢<鸟哥的linux私房菜>这本书,这本书对新手来说,是很好得老师,也感谢师兄郑丹,抽出时间为我们讲解它得心得,让我们学习linux起来事半功倍.希望我得总 ...

  2. 【Nginx】第一章 快速入门

    第一章 快速入门 文章目录 第一章 快速入门 一.介绍 1.引入 2.什么是 Nginx 3.Nginx 作用 二.Windows 下使用 1.启动 Nginx 2.配置监听 3.关闭 nginx 三 ...

  3. 【MyBatis-Plus】第一章 快速入门

    第一章 快速入门 文章目录 第一章 快速入门 一.介绍 1.概述 2.特性 二.入门案例 1.安装插件 2.准备工作 3.MyBatis-Puls 替换 MyBatis 4.修改 StudentDao ...

  4. 【MyBatis】第一章 快速入门

    第一章 快速入门 文章目录 第一章 快速入门 一.介绍 1.使用 JDBC 的缺陷 2.MyBatis 框架解决的主要问题 二.入门案例 1.准备数据库 2.创建实体类 3.创建持久层 DAO 接口 ...

  5. Java 学习笔记:第一章 Java入门

    Java 学习笔记:第一章 Java入门 1.1 计算机语言发展史以及未来方向 1.2 常见编程语言介绍 C语言 C++ 语言 Java语言 PHP 语言 Object-C和Swift 语言 Java ...

  6. 【编程实践】第一章 C++入门 《C++程序设计语言》 / By 禅与计算机程序设计艺术ChatGPT

    目录 <C++程序设计语言> / By 禅与计算机程序设计艺术&ChatGPT 内容简介 第一章 C++入门 1.1 C++的起源和发展 1.1.1 C++的历史和背景 1.1.2 ...

  7. Android项目驱动式开发教程 第2版,《Android项目驱动式开发教程》第一章开发入门.ppt...

    <Android项目驱动式开发教程>第一章开发入门 1.4 项目框架分析 4 android:versionName="1.0" > 5 8 第9行代码andro ...

  8. Java Persistence with MyBatis 3(中文版) 第一章 MyBatis入门

    本章将涵盖以下话题: ž  MyBatis是什么? ž  为什么选择MyBatis? ž  MyBatis安装配置 ž  域模型样例 1.1 MyBatis是什么 MyBatis是一个简化和实现了Ja ...

  9. 第一章 程序设计入门--算法竞赛入门经典

    第一章 程序设计入门–算法竞赛入门经典 知识点一: int m=25; printf("%d\n",m); printf("%03d\n",m); 输出如下: ...

  10. 基于《java2实用教程》的java知识点复习整理【第一章——java入门】

    第一章--java入门 一.知识结构框架 二.知识点详解 1.java特点:编写一次,随处运行 简单 Java要比C++简单,C++中许多容易混淆的概念,被Java弃之不用了,或者以一种更清楚更容易理 ...

最新文章

  1. hibernate连接mysql数据库步骤_Hibernate (操作步骤)
  2. 程序员成长的本质,就是一步步靠近商业
  3. opencv2安装报错no module named cv2
  4. SpringMVC和Dubbo的整合
  5. 强大的SPGridView
  6. 设置文字多行显示溢出显示省略号
  7. 苹果将削减iPhone SE及AirPods产量 iPhone 13也要求减产
  8. HTML5关于上传API的一些使用(上)
  9. java基础——浅析设计模式之单例模式
  10. SLAM--求解2D-2D图像间的运动
  11. 英语口语锦集(oralenglish)
  12. 论文 图片配色 漂亮颜色
  13. 《指数型组织》学习总结
  14. 领域驱动设计思维导图
  15. shopex使用经验
  16. 对c语言课程的建议和意见,对课程的意见和建议
  17. android windows 共享文件,安卓手机如何访问电脑局域网共享的文件
  18. ajax学员信息php,PHP开源AJAX框架
  19. 如何把png/jpg文件生成为字体图标(css icon-font)
  20. 扒一扒流量攻击那些事

热门文章

  1. Linux系统下安装Adobe Flash Player插件观播放视频
  2. kali下安装VMware
  3. 2022第三届云原生编程挑战赛--Serverless VSCode WebIDE使用体验
  4. Python判断语句中 and 和 or 的用法
  5. 批量分类导出语雀知识库下所有文章
  6. android targetsdkversion 版本 调低,targetSdkVersion 更改的问题
  7. Stata:xtivreg与xtivreg2的区别
  8. 趣图:Python 程序员转 Java
  9. bnu1061 古墓丽影 C语言版
  10. 分析项目-AQI分析与预测