终于熬过了期末考试,这个暑假要好好学习,入手了kindle,正版书太贵,只能下了些pdf资源来看。先立个flag,我可以读完这本《鸟哥的Linux私房菜》,直接看过一遍久了就会忘记,于是觉得要留下些笔记留作以后不记得的时候可以查阅,下面是今天一天的学习笔记。
1.当指令过长时,用\可以吸收一个回车跳到下一行继续写指令
如:ls -al /(此处立即接一个回车)
~
和 ls -al ~的效果是一样的,表示列出名为"~"的文件夹下所有包括隐藏文件及其属性
2. 命令locale可以显示目前所支持的语言语系
3.修改语系
修改为英文语系:
LANG=en_US.utf8
export LC_ALL=en_US.utf8
其中LANG只与输出的讯息有关,还要更改其他信息,要同步更新LC_ALL,当退出linux后该修改指令就无效了
4.显示日期指令:date
想要格式化显示时间,如2015/05/29,输入命令:
date +%Y/%m/%d
显示当前时间:14:33
date +%H:%M
5.显示日历:cal
查询2015年的日历:cal 2015
查询2015年10月的日历:cal 10 2015
6.计算器:bc
输入bc后和正常的计算器一样使用就行了,默认进行整数运算,若要输出小数点的位数,则scale=3,表示输出小数点后3位
输入quit退出计算器
7.Tab按键
Tab具有命令补全和文件补全功能:
比如写一个命令date,然后按一下Tab键就会列出后面可以紧跟的所有参数
当运行一个叫startup.bat的文件时,假如你该目录下没有别的类似于这个名字的,输入:
./startu 不用写完,按一下Tab就会自动补全该文件名,前提是输入的字符足够判断是哪一个文件
8.ctrl c按键
该按键用于终止正在运行的指令
9.ctrl d按键
表示键盘结束输入,离开命令行,EOF即End Of File的意思,和exit作用差不多
10.shift PageUp或者是Page Down:
当指令输出信息过长是,用于进行页面切换
11.命令 --help参数
用于了解该命令的可加参数及其格式用法,如cal --help和date --help
12 .man page
man是manual的简写,即操作说明,比如man date可以看到与date有关的详细参数和命令说明
13.info page
和man的作用差不多也是帮助系统的一种,亮点是如果太繁杂按h可以显示简易版命令说明
14.指令说明文件
在/usr/share/doc/下有很多说明文档可以查阅
15.netstat -a
查看网络的连线状态
16.ps -aux
查看当前主机的使用状态
17.数据写入磁盘 sync
在linux系统中为了加快数据读取速度,对于一个经常改写的数据不会立即写入硬盘中,这就有可能造成数据丢失,使用sync就可一同步更新数据,目前shutdown,reboot,halt等指令在关机之前都会执行sync这个工具调用
18.关机/重启
关机:shutdown
相关参数:
-k 不是真的关机,只是把警告信息发出去
-r 重启
-h 立即关机
-c 取消已经在shutdown指令的内容
时间:如果没有指定关机时间,默认在一分钟以后关机
shutdown -h now立即关机,
shutdown -h 20:25在20:25时关机
shutdown -h +10 'the system will shutdown'在十分钟后关机,-r命令也是如此,后面的语句为提示信息会给所有的线上使用者
重启:reboot,halt,poweroff
19.linux账号信息相关
默认将所有系统上的账号包括root的相关信息记录在/etc/passwd文件内,个人密码在/etc/shadow文件下,所有群组名称记录在/etc/group内
20.文件权限相关
如一下是ls -al的查询结果
drwxr-xr-x 42 hjy hjy 4096 7月 6 13:03 .
-rw-r--r-- 1 hjy hjy 3748 4月 4 03:06 .bashrc
drwxr-xr-x 13 hjy hjy 4096 7月 6 13:03 .cache
解释:
第一栏
第一个字符代表文件属性:d是目录,-是文件,i表示链接文件,b为可随机存取设备,c为一次性读取设备
接下来如rwx,r代表可读,w代表可写,x代表可执行,三个字符出现的位置不变,如果没有权限显示为-
第一组为文件拥有者可具备的权限(3位一组,每个rwx)
第二组为加入此群组账号的权限
第三组为非本人且没有加入本群组的其他账号的权限
第二栏表示有多少个文件名链接到此节点
第三栏表示这个文件或目录拥有者的账号
第四栏表示这个文件所属的群组
第五栏为文件的容量大小,以bytes位为单位
第六栏为这个文件最近修改的日期
第七栏为文件名
21.群组的修改 chgrp
change group的缩写,例如:chgrp users test.txt,将test.txt文件的群组修改为users,注意修改的群组名字必须要存在,即在/etc/group中,否则报错
22.改变文件拥有者 chown
change owner的缩写,注意拥有者要为已存在的账号,即在/etc/passwd有记录中
例如:
chown hjy test.txt 将该文件的所有者修改为hjy
chown root:root test.txt 将该文件的所有者和群组都修改为root
23.将文件复制给其他人 cp
该命令可进行文件拷贝并改名:cp test1.txt test2.txt 将test1.txt拷贝为test2.txt,拷贝的同时会复制执行者的属性和权限
24.改变权限 chmod
改变权限的方式有两种,分别是数字的方式和符号的方式。
数字方式:
各个权限的分数如下:r:4 w:2 x:1
二进制可以表示任何一种唯一的状态的思想,这些分数加起来的权值就代表这一种状态
在笔记20中有说分成可3组,每一组为一个rwx,假如一个文件的权限为rwxrwxrwx,即任何拥有者,群组,其他人都可以使用,那么该文件的权限数字为777
chmod 777 test.txt 这样就可以把test.txt文件修改为这种状态了
符号方式:
三个身份,u代表user,g代表group,o代表others,a代表all即全部身份
chmod u=rwx,go=rx test.txt 将test.txt这个文件修改为对user可读可写可执行,对group和others可读可执行
如果给u添加一个权限:
chmod u+r test.txt表示给users添加一个读权限
如果给u移除一个权限:
chmod u-x text.txt 表示给users去掉一个可执行权限
25.linux文件
任何设备在linux下都是文件,大体分为以下几类:
正规文件:
纯文本文件:最常见的类型,内容为可以直接读到的数据,cat+文件名可以直接查看其内容
二进制档:linux中的可执行文件,一系列指令
数据格式文件:程序运行中会读取一些特定格式的文件,档cat读取是会出现乱码
目录:顾名思义
链接文件:类似于windows下的快捷方式,用于快速跳转
设备与设备文件:
通常集中在/dev目录下,分为两种
区块设备文件:用于随机存取周边设备,如软盘和硬盘
字符:一些周边设备,比如键盘鼠标
数据接口文件sockets:
与网络上的某个程序承接,客户端可以通过sockets进行数据沟通,通常放在/run和/tmp
数据输送档:主要目的是用于解决多个程序同时存取一个文件造成的错误问题
26.linux文件扩展名
.sh:脚本或批处理文件,用shell写成
.Z,.tar,.tar.gz,.zip,.tgz:经过打包的压缩文件,扩展名不同是因为用的压缩方式不同
.html,.php:这个就是符合html和php语法的网页文件,可以通过client端的浏览器server端浏览
27.FHS--linux目录配置依据
FHS是一种目录配置的一般性规定,大致有如下一些:
/bin:放可执行性文件,cat,chmod,chown,date等
/boot:放开机会使用到的文件,如一些所需的配置文件
/dev:存放设备
/ect:系统的主要配置文件都放在这,一般比较重要的文件只有root可修改
/lib:放开机时会用到的函数库
/media:顾名思义存放媒体,即可移除设备
/opt:存放第三方协力软件
/run:开机后产生的各项信息
/sbin:其中许多指令用于设置系统环境,一般只有root可以使用,其他人只能够读
/srv:service的缩写,如www和FTP服务要用的数据目录放在里面
/tmp:正在执行的程序暂时存放文件的地方,任何人都可以读取,需要定时清理
/home:系统默认的使用者主文件夹
28.常用的目录变换指令
cd:变换目录
cd ..回到这层目录的上一层目录
cd 绝对路径或相对路径进行目录变换
cd ~回到使用者主目录,即/hone/hjy
cd /回到根目录
pwd:显示当前目录
mkdir:创建一个新的目录,可以加参数-m 777表示给新建一个权值为777(笔记24中)的文件
rmdir:删除一个空目录,如果不问空,要递归删除子目录,则:rm -r test表示将test目录及其子目录都删除掉
29.可执行文件路径的变量:PATH
echo $PATH 可以查看有哪些目录被定义出来了,每个目录中间会用冒号隔开,有顺序之分,如果有两个目录下都有同一个命令的可执行文件,则执行最前面那一个
把路径添加进PATH:PATH="${PATH}:/root"表示将/root加入环境变量中
30.文件与目录的检视:ls
ls是linux系统中最常用的命令,用于查看当前目录下文件的信息,一些常用的参数如下:
ls:默认列出该目录下的文件名或目录名(不包括隐藏文件目录)
-a:列出包括.开头的隐藏文件
-d:列出目录本身,而不是里面的文件数据
-l:列出长数据串,包括文件属性,权限