Linux使用笔记

来源:互联网 发布:华为mate9网络频段 编辑:程序博客网 时间:2024/06/05 07:33

一、umask

文件全权限值为: 666

目录全权限值为: 777


输入umask,返回默认的需去除的文件/目录权限,0027,即属主全权限,属组无写入权限,其他用户无任何权限

重新设置umask: umask 007: 即属主全权限,属组全权限,其他用户无任何权限。


二、改变所属关系chown chgrp ch

只改变属主:chown tesla abc

改变属主和属组:chown tesla.sky abc


三、共享文件夹(所以组内用户写入的文件的属组都直接变更为组名)

步骤:

mkdir abc

chgrp sharegroup abc

chmod g+s abc


当组(sharegroup)内任何用户(user1,user2,...)写入文件是,其属组均为sharegroup


第9章 安装软件程序

aptitude


aptitude showpackage_name


dpkg -L package_name


dpkg --search absolute_file_path


aptitude search package_name

(i:已安装、p/v: 可用,未安装)

sudo aptitude install package_name


sudo aptitude safe-upgrade

(aptitude full-upgrade; aptitude dist-upgrade)


sudo aptitude purge package_name






《鸟哥的Linux私房菜》前期学习文档记录

进入root
sudo su,或者su -




第一个字符为.的文件为隐藏文件




区分大小写


ls -al


date
cal
bc


以固定格式输出日期
date +%Y/%m/%d


显示日历
cal
显示一年的日历
cal 2017
显示某年某月日历
cal 2 2017


计算器 
bc
默认结果为整数
10/200=0


若需小数
scale=4 表示四位小数
1/3=0.3333


退出
quit




重要的热键:【tab】 【ctrl】-c  【ctrl】-d
tab键具有命令补全和文件补齐的功能,可以避免打错指令


1.接在一串指令的第一个字的后面,则为命令补全;
接在一串指令的第二个字以后时,则为文件补齐
若安装bash-completion软件,则在某些指令后面使用tab时,可以进行选项/参数的补齐


date --[tab][tab]


【ctrl】-c
中断目前程序
【ctrl】-d
键盘输入结束,相当于exit
如:bc
    ctrl-d


【shift】+{【pageup】|【pagedown】}
纯文本情况下翻页


清屏命令
clear




man page




直接使用pageup pagedown翻页


使用【home】到第一页
使用【end】到最后一页
使用/string向下查找string
使用?string向上查找string






命令[2]


数字代表的内容
1 用户在shell环境中可以操作的指令或可执行的文件
5 配置文件或者是某些文件的格式
8 系统管理员可用的管理指令




man -f man
man -k man 




总结:man,info,/usr/share/doc/




文本编辑:nano
【ctrl】-G 取得联机帮助
-X 离开nano 可能需要存储
-O 储存文件
-R 从其他文件读入,粘贴
-W 搜寻字符串
-C 光标所在处的行数与列数
-_ 直接输入行号,使得光标快速移动到此行
【alt】-Y 矫正语法功能的开闭
【alt】-M 支持鼠标移动光标


!!!正确关机
linux系统的关机/重启时很重大的系统运作,因此只有root才能够进行例如shutdown,reboot的指令,
但在某些distribution中,允许在无论在文字界面或则图像界面都能关机或重启


1. 不要直接按关机键
2. who指令,查看谁在线
3. netstat -a 查看网络联机状态
4. ps -aux 查看背景执行的程序


正确的关机指令使用:shutdown,reboot


!!!将数据同步写入硬盘的指令:sync
惯用的关机指令:shutdown
重新启动,关机:reboot,halt,poweroff


一般账号中 sync:只能保存个人数据
root账号中 sync:可以保存所有数据


关机:
/sbin/shutddown [-krhc] [时间] [警告通知]


-k:不是真的关机,只是发送警告通知
-r:将系统的服务停掉之后就重新启动(常用)
-h:将系统服务停掉后,立即关机(常用)
-c:取消已经进行的shutdown 指令
时间:制定关机时间


例:/sbin/shutdown -h 10 "i will shutdown for ten minutes"


shutdown -h now
shutdown - 20:25
shutdown -h +10
shutdown -r now
shutdown -r +30 "the system will reboot"
shutdown -k now "this system will reboot"




重新启动:
sync;reboot
sync;shutdown




halt
poweroff


systemctl [指令]
如:systemctl reboot
    systemctl poweroff










5.2.1 linux文件属性


输入:ls -al:显示所有目录和文件,包含隐藏
      ls -l:只显示非隐藏项目
drwx-r-x---. 5    root     root   4096        May 29 16:08 .bash_history
[权限]     [连接] [拥有者] [群组]  [文件容量] [修改日期]    [文件名]




linux权限的重要性:
系统保护的功能;
团队开发软件或数据共享的功能;
未将权限设定妥当的危害;


5.5.2如何改变文件属性与权限


·chgrp:改变文件所属群组
·chown:改变文件拥有者
·chmod:改变文件的权限,SUID,SGID,SBIT等等


chgrp:
chgrp [-R] dirname/filename
例:chgrp projectgrop test.txt


chown:
chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:组名 文件或目录
(即同时更改拥有者和群组)
例:chown bin test.txt


复制:cp
cp 原文件名 新文件名

cp text.txt text_copy.txt


cp会复制执行者的属性和权限,可以使用chmod更改权限:


r4 w2 x1 -0
如 -rwxrwx---
owner= rwx=4+2+1=7
group= rwx=4+2+1=7
others= ---=0+0+0=0
故:770


改变权限方法1:
chmod [-R] xyz 文件或目录
例子:
chmod 754 text.txt
chmod 777 text_copyskyo.txt


改变权限方法2:
u:user
g:group
o:others
例子
chmod u=rwx,go=rx text.txt




a+x
a-x
a+r
a-r
a+w
a-w


例子:
chmod a+2 text.txt
chmod a-x text.txt


5.2.3 目录与文件之权限意义


1. 权限对文件的重要性


可读r可写w可执行x
window以扩展名莱判断可执行性:.exe .bat.com等
但是在linux下,以x判断是否可执行




2.权限对目录的重要性


r:读取目录结构列表的权限,可查询该目录下的文件名和数据
w:强大
   建立新的文件与目录
   删除已经存在的文件与目录,不论其权限如何
   将已存在的文件或目录进行更名
   搬移该目录内的文件/目录位置


x:目录不会被执行,这里代表能否进入目录


例:
drwxr--r-- 3 root root 4096 jun 25 08:35 .ssh


以上对与vbird用户的意义为:vbird可以查询此目录下的文件名列表,
但不能切换到此目录内。
因此,注意:能不能进入目录,要看x
如果你在某目录下不具有x权限,那么你就无法切换到该
目录下,也就无法执行该目录下的任何指令,即使你具有该目录的r或w权限。


很多朋友在架设网站的时候都会卡在一些权限的设定上,他们开放目录数据给因特网的任何
人来浏览,但是只开放了r的权限,如上面的例子,那样的结果就是导致网站服务器软件无法到
该目录下读取文件(最多只能看到文件名),最终用户总是无法正确的查阅到文件的内容(显示权限不足)。
要注意,要开发目录给任何人浏览时,应该至少液压给予r及x的权限,但w权限不可随便给。


为什么w权限不可随便给:
例:
假设有个账号名为dmtsai,他的家目录在/home/dmtsai/,且用户dmtsai对此目录具有rwx的权限,。
若在此目录下有个名为the_root.data的文件,该文件的权限如下:
-rwx------ 1 root root 4536 sep 19 23:00 the_root.data
请问,dmtsai对此文件的权限如何?可否删除此文件?
答案:
如权限所示,由于用户dmtsai对此文件来说时others身份,因此这个文件他无法读/无法编辑/无法执行,也就是说他不能变动这个文件的
“任何内容”。但是,由于该文件在他家目录下,他对该文件由完整的rwx权限,因此他可以“删除”这个文件。
如果你对一个目录有完整的权限,尤其时w,那么,你可以对该目录中的文件做删除处理。






mkdir testing
chmod 744 testing
touch testing/testing
chmod 600 testing/testing
ls -ald testing testing/testing








5.2.4linux 文件种类与扩展名
文件种类
    正规文件[-rwxrwxrwx]
        纯文本文档ASC11
        二进制文件binary
        数据格式文件data
    目录 [drwxrwxrwx]
    连接档[lrwxrwxrwx]
    设备与装置文件
        区块设备档[brwxrwxrwx]
        字符设备文件[crwxrwxrwx]
    资料接口文件[srwxrwxrwx]
    数据输送文件[prwxrwxrwx]






目录的意义:233页




. :代表当前的目录,也可使用./表示
..:代表上一层目录,也可以用../表示




如何先进入/var/spool/mail/,在进入到/var/spool/cron/?


cd /var/spool/mail
cd ../cron






第六章linux文件与目录管理
6.1.2目录的相关操作
特殊目录
.  此层目录
.. 上一层目录
-  前一个工作目录
~  目前用户身份所在的家目录
~account  代表account这个目录的家目录


常用目录指令:
cd:  变换目录
pwd: 显示当前目录
mkdir: 建立一个新目录
rmdir: 删除一个空的目录


cd:
以root身份进入一般用户家目录:cd ~skyo


回到root自己的家目录:cd ~


不加任何路径,也表示回到自己家目录:cd


刚登入时会到自己的家目录,而家目录还有一个代码,就是~符号!使用cd ~可以
回到个人的家目录里头;仅输入cd 时,代表cd~的意思。
还有一个cd -,请自行体会






pwd 显示目前所在目录(print working directory)
   pwd [-P] 显示出确实路径,而非使用link路径


mkdir [-m | -p]
    mkdir -m :配置文件案的权限,直接设定,不需要看于是权限umask的脸色
    mkdir -p: 帮助你直接将所需要的目录(包含上层目录)递归建立起来


例子:在tmp里面建立文件夹
    mkdir test #正确
    mkdir test1/test2/test3/test4 #错误,正常情况下需一层一层建立目录才行,但是使用-p可以直接建立
    mkdir -p test1/test2/test3/test4 #正确
    mkdir -m 711 test2 :建立test2目录,且直接设定权限为711


查阅目录和文件属性的命令
ls -al:显示所有文件和目录,包含隐藏的
ls -l:显示所有文件和目录,不包含隐藏的
ls -ld test:显示确定的目录
ls -ld test*:显示目录名有test的所有目录




6.1.3 关于执行文件路径的变量:$PATH


ls -al :其实完整路径应该为 /bin/ls -al
但为什么我们可以在任何地方执行ls呢,因为环境变量PATH帮助了我们。


查看哪些目录被设定为PATH路径了:echo $PATH
不同的用户显示出来的PATH路径可能不一样,最明显的是和root对比


移动文件
mv /bin/ls /root:将bin目录下的ls移动到root目录下。


若将ls移动到了非PATH路径下,那么执行ls将困难一些:/root/ls 或者./ls


将目录加入到PATH:PATH="${PATH}:/tmp"
上面命令为:将tmp加入到执行文件搜索路径PATH中了,再试试echo $PATH








6.2 文件与目录管理
 6.2.1 文件与目录的查看:ls
       ls [-aAdfFilnRSt]
          注:a:全部文件;d仅目录本身;l长数据串行,包含属性和权限
       ls [--color={never,auto,always}]
       ls [--full-time]


 6.2.2 复制/删除/移动: cp/rm/mv
       cp [-adfilprsu] 来源文件 目标目录
          a:     
          i:若目标文件已存在,在覆盖时会先询问动作的进行;
          p:连同文件的属性(权限用户时间)一起复制(备份常用)
          r:递归持续复制,用于目录的复制行为;
       cp [options] source1 source2 source3 ... directory
       
       rm [-fir]
          f:忽略不存在的文档,不会出现警告信息。force的意思
          i:互动模式,删除前会询问使用者是否动作
          r:递归删除 
              mkdir abc
              rm abc #错误
              rm -r abc# 正确
              rmdir abc# 正确






      !!!一定注意用root删除目录或文件,因为系统不会询问操作者。


 
       mv [-fiu]
           f:强制移动,如果目标文件已经存在,则不会询问而会直接覆盖
           i:若目标文件存在,则询问是否覆盖;
           u:若目标文已存在,且source较新,才会update。


          mv可以用来更名:


             mkdir abc
             mv abc abc2
6.2.3 取得路径的文件名与目录名称
       basename
       dirname


6.3文件内容查阅
    cat 由第一行爱是显示文件内容
    tac 从最后一行开始显示
    nl  显示的时候,顺道输出行号
    more 一页一页的显示文件内容
         
    less 
    head 只看头几行
    tail 只看尾巴几行
    od   以二进制方式/或其他类型输出/读取文件内容


 6.3.5 修改文件时间或者建立新文档:touch


        mtime:modification time
        ctime:status time
        atime:access time
      touch [-acdmt]文件
        a:瑾修改accesstime
        c:仅修改文件时间,若该文件不存在则不建立新文件
        d:后面可以接欲修订的日期,而不用当前的日期
        m:瑾修改mtime
        tL后面剋接欲修订的时间而不用目前时间 格式:YYYYMMDDhhmm


6.4 文件欲目录的默认权限欲隐藏权限


     umask
     修改默认的新建文件和目录的权限
     umask 002
6.4.2 文件隐藏属性


  配置文件的隐藏属性 
  chattr [+-=][ASacdistu]
   重点:a/i
   a:只有root才能设定这个属性,当设定a之后,只能增加数据,不能删除 不能修改。
   i:只有root才能设定这个属性,当设定i之后,不能删除,不能改名,设定连结也无法写入或新增数据。对系统安全行由相当达的帮助


   例子:
    touch testfile
    chattr +i testfile #增加a属性
    rm testfile #无法删除
    chattr -i testfile# 取消a属性后才能删除




 显示文件隐藏属性
   lsattr [-adR]


6.4.3文件特殊权限:SUID SGID SBIY


    文件状态中,如果出现s,如-rwsr-xr-x,那么,此时被称为Set UID,简称SUID的特殊权限
   SGIT对项目开发非常重要


SUID SGID SBIT权限设定


SUID 4
SGID 2
SBIT 1




6.4.4 观察文件类型:file


file 文件名




6.5指令与文件的搜寻


6.5.1脚本文件名的搜寻


寻找执行文件
which [-a] command


寻找文档名
whereis
locate / updatedb




find [PATH] [option] [action]
find / -mtime 0
find 目录 -newer 目录
find 目录 --mtime -4
find 目录 -user -skyo
find 目录 -nouser
find / -name passwd
find / -name "*passwd*"
find /run -type s
find / -perm /7000
find /usr/bin /usr/bin -perm /6000




第七章
linux的正统文件系统则为Ext2(Linux second extended file system,ext2fs).
ls -i :观察目录内文件所占用的inode号码