查询当前Linux版本:uname -a
Lsb-release -a 查看系统版本
Linux的文件及文件夹的组织结构成一个倒立置的树形结构。并以 / (slash)分隔。
重要的文件目录
用户主目录: /root,/home/username
用户可执行程序目录: /bin, /usr/bin, /usr/local/bin
系统可执行程序: /sbin, /usr/sbin, /usr/local/sbin
挂载点: /media, /mnt
常用的配置文件目录: /etc
临时文件目录: /tmp
内核及引导目录: /boot
服务器目录: /var
系统信息目录: /proc, /sys
共享库目录: /lib, /usr/lib, /usr/local/lib
例如:[root@localhost ~]
表示:user: root 主机名:localhost 目录:/root
-------------------------------------------------------------------------
cd 命令 是改变用户所在目录的命令
cd 回当前用户家目录
cd ~ 也是回当前用户家目录
cd - 回上一次所在的目录
还有两种方法
cd /root 使用绝对路径
cd root 使用相对路径
ls -a
. 代表当前目录
.. 代表上一级目录
如果我用cd ..这个命令会切换到root 的上级目录就是 /,
更改环境变量来实现当前显示当前的完整路径状态
vi /etc/bashrc,修改这一行后面大写的W,改成小写的w就可以了,保存退出。
u 就是当前用户,h 就是主机名字,w 就是当前目录
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
要查看修改结果,我们需要关闭终端,重新打开终端就可以看见效果了
--------------------------------------------------------------------------
ls 命令
ls -a 显示所有文件 包括隐藏文件
ls -l 以长列表方式显示文件
LINUX里只要文件名前有一个点的就是隐藏文件
用ls –l以长模式察看文件的详细信息
包含当前目录的硬盘使用空间、文件类型、文件权限、硬连接数、文件拥有者、文件所属组、文件大小、更动时间、文件名。
-rw------- 1 root root 958 Mar 25 00:55 anaconda-ks.cfg
第一个"-"位置是代表文件类型的。
在linux中,所有设备都被当成文件。
文件权限前的第一个字母用来标识文件类型:
-:一般文件
d:目录文件
b:块设备文件
c:字符设备文件
l:链接文件
234位代表文件所有者的权限。
567位代表文件所属组的权限。
89 10 代表其他用户的权限。
r 是读的意思
W 是写的意思
X 是执行的意思
-----------------------------------------------------------------------
文件的硬连接及软链接
硬连接就像一个文件有多个文件名,
软连接就是产生一个新文件,这个文件指向另一个文件的位置,
硬链接和软连接的区别:
1、默认情况下不带参数,ln命令创建硬链接,ln -s 创建软连接
2、硬链接与源文件的inode 节点号相同,软连接的inode节点号与源文件不同
3、Ln命令不能对目录创建硬链接,可以创建软连接
4、删除软链接文件对源文件及硬链接文件无任何影响
5、删除文件的硬链接文件对源文件及软链接文件无任何影响
6、删除链接文件的源文件,对硬链接文件无任何影响,会导致其软链接失败(成为红底白字闪烁状)
7、同时删除源文件和硬链接文件,整个文件才会被真正删除
8、很多硬件设备中的快照功能,使用的就是类似硬链接的原理
9、软链接可以跨文件系统,硬链接不可以!
--------------------------------------------------------------------------
新建文件
名称:touch
使用权限:所有使用者
使用方式:
touch [-acfm]
[-r reference-file] [--file=reference-file]
[-t MMDDhhmm[[CC]YY][.ss]]
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}]
[--no-create] [--help] [--version]
file1 [file2 ...]
说明:
touch 指令改变档案的时间记录。 ls -l 可以显示档案的时间记录。
参数:
a 改变档案的读取时间记录。
m 改变档案的修改时间记录。
c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
f 不使用,是为了与其他 unix 系统的相容性而保留。
r 使用参考档的时间记录,与 --file 的效果一样。
d 设定时间与日期,可以使用各种不同的格式。
t 设定档案的时间记录,格式与 date 指令相同。
--no-create 不会建立新档案。
--help 列出指令格式。
--version 列出版本讯息。
例:
建立文件,若文件不存在,系统会建立一个新的文件。
touch file
touch file1 file2
将 file 的时间记录改为 12 月 6 日 11点 11分,公元2012年。
时间的格式可以参考 date 指令,至少需输入 MMDDHHmm ,就是月日时与分。
touch -c -t 12061111 file
touch -c -t 120611112012 file
touch -d 和 date -s 的用法相同。
如果没有指定日期,默认为系统日期
touch -d 11:11 file
touch -d "11:11" file
touch -d "11:11am" file
如果没有指定时间,默认为 00:00:00
LINUX 文件名字的长度最大是256个字符.
通常由字母、数字、“.”(点号)、“_”(下划线)和 “-”(减号)组成.
强调: LINUX文件名字和命令都是严格区分大小写的。
-------------------------------------------------------------------------
删除文件
名称:rm
使用权限:所有使用者
使用方式:rm [options] name...
说明:删除档案及目录。
参数:�G
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
使用rm命令要小心。因为一旦文件被删除,它是不能被恢复的。为了防止这种情况的发生,可以使用i选项来逐个确认要删除的文件。
例:
快速删除log日志
rm -f *22.log
也可echo > /var/log/*22.log清空日志
--------------------------------------------------------------------------
重命名(移动 )文件
名称:cp
使用权限:所有使用者
使用方式:
cp [options] source dest
cp [options] source... directory
说明:将一个档案拷贝至另一档案,或将数个档案拷贝至另一目录。
把计�G
-a 尽可能将档案状态、权限等资料都照原状予以复制。
-r 若 source 中含有目录名,则将目录下之档案亦皆依序拷贝至目的地。
-f 若目的地已经有相同档名的档案存在,则在复制前先予以删除再行复制。
范例:
将档案 test 复制(已存在),并命名为share :
cp test share
-------------------------------------------------------------------------
文件权限
对于每一个文件,Linux都提供了一套文件权限系统。
对于每一类用户,权限系统又分别提供他们三种权限
读(r) :用户是否有权力读文件的内容
写(w) :用户是否有权利改变文件的内容
执行(x) :用户是否有权利执行文件
文件权限系统,将操作文件的用户都分成三类
文件的拥有者(u)
文件所属组的成员(g)
其他用户(o)
所属用户
每一个文件都有一个拥有者。文件的拥有者可以改变文件的权限。所有的用户都有一个唯一的ID号(UID)
用户的名字与标识都放在/etc/passwd里面
-------------------------------------------------------------------------
下面看看几个简单的命令
创建用户:useradd
添加一个叫sunsir的用户,sunsir是你想要创建的用户名.命令运行成功,是不会有任何提示的.
然后用passwd 改变这个用户的密码。
注意;如果你passwd命令后面不跟用户名的话,他就会改变当前用户的密码。
删除用户:userdel
语 法:userdel [-r][用户帐号]
userdel可删除用户帐号与相关的文件。
若不加参数,则仅删除用户帐号,而不删除相关文件。
参 数:
-f 删除用户登入目录以及目录中所有文件。
我们用su - sunsir命令切换到刚才建立的目录
Su - 是切换用户,中间那个 - 符号的意思完是整切换到sunsir用户。所谓的完整就是连着所有变量一起切换.
改变文件权限
chmod 文件权限 文件名字
只有root用户可以用chown来改变文件的拥有者。
语法:chown 用户名 文件名
建立文件用touch 命令,
建立一个文件
名字叫;share
权限: u=rwx g=rx o=rx
改变文件权限有两种方法:
一种是用字母表示:
比如:u+rwx g+rwx o+rwx,
也可以用减号u-rwx g-rwx o-rwx
第二种chmod后可以用三个数字来表示用户权限
第一位代表文件拥有者权限
第二位代表文件所属组成员权限
第三位代表其他用户权限
一个文件权限分成u,g,o三部分。每部分又分为r,w,x三种权限。那么我们用三组数字来表示,三种用户的权限。
4(读)
2(写)
1(执行)
用数字表示,比如 777
如果是7,就证明他有那三种权限,如果是5就证明那个位置的用户只有4和1的权限,也就是没有2,写的权限。
把刚才那个share的文件改成sunsir所有
chown sunsir share
所属组
每一个文件只能属于一个指定的组。所有的用户组也都有一个唯一的ID号(GID
用户的组名与组标识都放在/etc/group里面
文件的拥有者与root用户,可以用chgrp来改变文件所属的组
语法:chgrp 组名 文件名
然后在把刚才那个的所有组也改成sunsir组
chgrp sunsir share
root用户也可以使用 #chown 用户名:组名 文件名
一般普通用户的用户ID与组ID的值大于等于500,而系统用户ID与组ID小于500。(详情请查看/etc/login.defs配置文件)
我们创建一个用户的时候,会自动创建用户主目录,会分配UID,还有密码策略,这是怎么规定的呢?
就是在login.defs这个文件里面
[root@sunsir ~]#vim /etc/login.defs
[root@sunsir ~]# grep -v "#" /etc/login.defs
MAIL_DIR /var/spool/mail 注:创建用户时,要在目录/var/spool/mail中创建一个用户mail文件
PASS_MAX_DAYS 99999 注:用户的密码不过期最多的天数;
PASS_MIN_DAYS 0 注:密码修改之间最小的天数;
PASS_MIN_LEN 5 注:密码最小长度;
PASS_WARN_AGE 7 注:是密码过期前几天提醒用户,默认是7天。
UID_MIN 500 注:最小UID为500,也就是说添加用户时,UID是从500开始的
UID_MAX 60000 注:最大UID为60000;
GID_MIN 500 注:GID是从500开始;
GID_MAX 60000 注:最大GID为60000;
CREATE_HOME yes 注:是否创用户家目录,要求创建;
UMASK 077 注:给用户建立的家目录的权限掩码。
USERGROUPS_ENAB yes 注:建立一个用户的时候也建立相应的组。