linux基础学习
1.查看IP
查看IP是ifconfig(ifconfig -a是显示全部接口)
或者 ip addr show
clear命令: 用于清除屏幕
扩展
2.目录打访问(cd只能进入目录,进入文件会报错)
根目录下 : ls /
其他目录: ls /home -l
目录进一级:cd /dev
进入多级目录 cd /home/look
退一级目录: cd ../
退多级目录: cd ../../
直接回 根目录 cd / 即:/
回到自己的家目录 cd ~ 即:/home/look 或者什么也不跟直接 cd 或者cd ~look
显示目前的目录 pwd
扩展 1:
linux 文件颜色的含义,蓝色代表目录,绿色代表可执行文件,红色表示压缩文件,浅蓝色表示链接文件,灰色表示其他文件,红色闪烁表示链接的文件有问题了,黄色表示设备文件。
蓝色文件----------目。录
白色文件----------一般性文件,如文本文件,配置文件,源码文件等。
浅蓝色文件----------链接文件,主要是使用ln命令建立的文件。
绿色文件------------可执行文件,可执行的程序。
红色文件------------压缩文件或者包文件。
绿底---------------如果others有write权限的话,ls会以绿底蓝字来显示
扩展2
相对路径和绝对路径:
1. 绝对路径
在Linux中,绝对路径是从/(也被称为根目录)开始的,比如/usr、/etc/X11.如果一个路径是从/开始的,它一定是绝对路径,这样就好理解了。
2.相对路径
路径的写法不是由根目录 / 写起的,例如 首先用户进入到 /home,然后再进入到test,执行的命令为 “#cd /home,#cd test”。
此时用户所在的路径为 /home/test。第一个cd命令后紧跟/home,前面有斜杠;而第二个cd命令后紧跟test,前面没有斜杠。这个test是相对于/home目录来讲的,所以称为相对路径。
在Linux文件系统中,有两个特殊的符号也可以表示目录:
“.”表示当前目录
“..”表示当前目录的上一级目录
命令cd后面只能是目录名,如果跟了文件名,就会报错
3.显示一个文件的属性以及文件所属的用户和组
ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组
[root@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
ls /home -l 或者 ll /home
第一个字符代表这个文件是目录、文件或链接文件等等。
d:目录
-:文件
/ : l链接
b:则表示为装置文件里面的可供储存的接口设备(可随机存取装置)
c:则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
从左至右用0-9这些数字来表示。
第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
新创建的目录默认权限为 rwxrwxr-x 新建文件的默认权限为 rw-rw-r–
更改文件属性
1、chgrp:更改文件属组
chgrp [-R] 属组名 文件名
参数选项
- -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
- -R必须为大写,小写无效
-
chgrp -R look test1
2、chown:更改文件属主,也可以同时更改文件属组
语法:
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
chown -R look:look test1
3、chmod:更改文件9个属性 新创建的目录默认权限为 rwxrwxr-x 新建文件的默认权限为 rw-rw-r–
语法 read r 4 write w 2 exe x1
chmod [-R] xyz 文件或目录
chmod -R 744 test1
others三种身份啦! 那么我们就可以藉由u, g, o来代表三种身份的权限!
此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x!也就是可以使用底下的方式来看:
(1)user (2)group (3)others
chmod | u g o a |
+(加入) -(除去) =(设定) |
r w x |
文件或目录 |
如果我们需要将文件权限设置为 -rwxr-xr– ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:
chmod -R a+w test1 //a可以省略不写
chmod -R a-x test1
chmod -R o=wrx,g=wx,u=wx test1
4.Linux 文件与目录管理
处理目录的常用命令
接下来我们就来看几个常见的处理目录的命令吧:
- ls: 列出目录
- cd:切换目录
- pwd:显示目前的目录
- mkdir:创建一个新的目录
- rmdir:删除一个空的目录
- cp: 复制文件或目录
- rm: 移除文件或目录
- mv: 移动文件与目录、文件重命名
你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。
#使用 mkdir 命令创建w3cschool.cn目录
[root@www ~]# mkdir w3cschool.cn
#使用绝对路径切换到w3cschool.cn目录
[root@www ~]# cd /root/w3cschool.cn/
#使用相对路径切换到w3cschool.cn目录
[root@www ~]# cd ./w3cschool.cn/
# 表示回到自己的家目录,亦即是 /root 这个目录
[root@www w3cschool.cn]# cd ~
# 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思;
[root@www ~]# cd ..
pwd (显示目前所在的目录)
pwd是Print Working Directory的缩写,也就是显示目前所在目录的命令。
mkdir (创建新目录)
如果想要创建新的目录的话,那么就使用mkdir (make directory)吧
mkdir [-mp] 目录名称
选项与参数:
- -m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
- -p :帮助你直接将所需要的目录(包含上一级目录)递回创建起来!
加了这个 -p 的选项,可以自行帮你创建多层目录!
mkdi -m 771 -p test1/test2/test3
rmdir (删除空的目录)
语法:
rmdir [-p] 目录名称
选项与参数:
-
-p :连同上一级『空的』目录也一起删除
cp (复制文件或目录)
cp 即拷贝文件和目录。
语法:
[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination) [root@www ~]# cp [options] source1 source2 source3 .... directory
选项与参数:
- -a :相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
- -d :若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
- -f :为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
- -i :若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
- -l :进行硬式连结(hard link)的连结档创建,而非复制文件本身;
- -p :连同文件的属性一起复制过去,而非使用默认属性(备份常用);
- -r :递回持续复制,用於目录的复制行为;(常用)
- -s :复制成为符号连结档 (symbolic link),亦即『捷径』文件;
- -u :若 destination 比 source 旧才升级 destination !
用root身份,将家目录下的 .bashrc 复制到 /tmp 下,并更名为 bashr
-
cd you.txt -ai ../my
rm (移除文件或目录)
语法:
rm [-fir] 文件或目录
选项与参数:
- -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
- -i :互动模式,在删除前会询问使用者是否动作
- -r :递回删除啊!最常用在目录的删除了!这是非常危险的选项!!!
rm -i you.txt
mv (移动文件与目录,或修改名称)
语法:
[root@www ~]# mv [-fiu] source destination [root@www ~]# mv [options] source1 source2 source3 .... directory
选项与参数:
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
- -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
修改名称
mv -i you.txt my.txt
移动,相当于粘贴
mv -i config.txt ../you
5.如何如编辑文件
1.进入文件(记得 vi 后面一定要加文件名,不管该文件存在与否!)
vi you.txt
2.按下 i 进入输入模式,开始编辑文字
在命令模式之中,只要按下 i, o, a 等字符就可以进入输入模式了!
在输入模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。
这个时候,键盘上除了 [Esc] 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。
按下 [ESC] 按钮回到命令模式
好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下 [Esc] 这个按钮即可!马上你就会发现画面左下角的 – INSERT – 不见了!
在命令模式中按下 :wq 储存后离开 vi
OK,我们要存档了,存盘并离开的指令很简单,输入『:wq』即可保存离开!
一、Linux系统用户组的管理
1、增加一个新的用户组使用groupadd命令。其格式如下:
groupadd 选项 用户组
可以使用的选项有:
- -g GID 指定新用户组的组标识号(GID)。
- -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
实例1:
# groupadd group1
此命令向系统中增加了一个新组group1,新组的组标识号是在当前已有的最大组标识号的基础上加1。
实例2:
# groupadd -g 101 group2
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
2、如果要删除一个已有的用户组,使用groupdel命令,其格式如下:
groupdel 用户组
例如:
# groupdel group1
3、修改用户组的属性使用groupmod命令。其语法如下:
groupmod 选项 用户组
常用的选项有:
- -g GID 为用户组指定新的组标识号。
- -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
- -n新用户组 将用户组的名字改为新名字
实例1:
# groupmod -g 102 group2
此命令将组group2的组标识号修改为102。
实例2:
# groupmod –g 10000 -n group3 group2
此命令将组group2的标识号改为10000,组名修改为group3。
此命令从系统中删除组group1。
二、Linux系统用户账号的管理
1、添加新的用户账号使用useradd命令,其语法如下:
useradd 选项 用户名
参数说明:
-
选项:
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
-
用户名:
指定新账号的登录名。
-
实例1
# useradd –d /usr/sam -m sam
此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。
实例2
# useradd -s /bin/sh -g group –G adm,root gem
此命令新建了一个用户gem,该用户的登录Shell是
/bin/sh
,它属于group用户组,同时又属于adm和root用户组,其中group用户组是其主组。这里可能新建组:
#groupadd group及groupadd adm
增加用户账号就是在/etc/passwd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow, /etc/group等。
Linux提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理。
2、删除帐号
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
删除一个已有的用户账号使用userdel
命令,其格式如下:
userdel 选项 用户名
常用的选项是-r,它的作用是把用户的主目录一起删除。
例如:
# userdel -r sam
此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。
4、修改帐号
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod
命令,其格式如下:
usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等
,这些选项的意义与useradd
命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
例如:
# usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。
5、用户口令的管理
用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。
指定和修改用户口令的Shell命令是passwd
。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:
passwd 选项 用户名
可使用的选项:
- -l 锁定口令,即禁用账号。
- -u 口令解锁。
- -d 使账号无口令。
- -f 强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。
例如,假设当前用户是sam,则下面的命令修改该用户自己的口令:
$ passwd
Old password:******
New password:*******
Re-enter new password:*******
如果是超级用户,可以用下列形式指定任何用户的口令:
# passwd sam
New password:*******
Re-enter new password:*******
普通用户修改自己的口令时,passwd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。
为了系统安全起见,用户应该选择比较复杂的口令,例如最好使用8位长的口令,口令中包含有大写、小写字母和数字,并且应该与姓名、生日等不相同。
为用户指定空口令时,执行下列形式的命令:
# passwd -d sam
此命令将用户sam的口令删除,这样用户sam下一次登录时,系统就不再询问口令。
passwd命令还可以用-l(lock)选项锁定某一用户,使其不能登录,例如:
# passwd -l sam
6.伪用户和伪账户
系统中有一类用户称为伪用户(psuedo users)。
这些用户在/etc/passwd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。
伪 用 户 含 义
bin 拥有可执行的用户命令文件
sys 拥有系统文件
adm 拥有帐户文件
uucp UUCP使用
lp lp或lpd子系统使用
nobody NFS使用