什么是Linux呢,Linux是一个开源的操作系统,可以做pc的操作系统也可以做服务器的操作系统,我们最熟悉的Andorra内核就是Linux,Linux不同于window,它没有多个盘符,只有一个 / ,这个斜杠就是代表总的盘,Linux的目录结构是倒立的树型
这个和我们命令中显示的一样,只不过上面显示的更直观而已
这上面我用箭头标注出来的分别是home 和root目录,其中root目录是用来存放我们root用户的相关信息,也可以理解为这就是root,而home里面存放的则是我们创建的普通用户。
我们在把虚拟机和centos安装好后,我们来登录,输入root的用户名和密码:
进入到我们先来创建一个新用户,命令是useradd hadoop -m ,这个地方useradd也可写成adduser,而hadoop是我们创建的用户,而-m是为hadoop创建一个主题目录我们可以多创建几个,使用passwd来设置密码,下面就是我创建的用户,使用 ls 或者 ll 来查看 :因为我们的普通用户都在home里面,所以要先进home才行
我先给大家说下[root@localhost home] # 是怎么会事把,这个式子叫做Linux提示符,即环境变量 $ps1,$ps2:命令提示符
root: 表示当前登录的账户名
localhost: 表示当前Linux的主机名
home: 表示当前用户工作目录
# :表示登录的是root用户,即管理员用户
我先来切换到gscsd用户
现在这里的提示符是[gscsd@localhost ~]$, gscsd 表明我们当前登录的用户是gscsd用户,而 ~ 表示我们在当前用户的主目录下,而 $ 则表示我们当前登录的是普通用户,我来给大家举个列子:
我们切换到root用户,而我们这时候的gscsd表示我们当前的用户工作目录还是在gscsd里面,我们用 ll 命令查看了以下还是在这里, 这表示我们是通过root用户去访问gscsd用户,而且还能进行查询等操作,这是因为root用户是管理员用户,可以任意查看其它普通用户,除非做了权限修改,而这时候我们切换到hadoop用户
这时候的提示符是[hadoop@localhost gscsd]$ ,说明我们当前登录的用户是hadoop用户,而我们当前的工作目录却是在gscsd用户下,这时候我们来使用 ll 查看的话报出没有权限,因为hadoop和gscsd两个用户的权限一样,因此不能查看,我们要切换到hadoop用户下的主体用户下才能查看
这时候我们就是在hadoop的主体目录下了,也有一下这种的:
这是说明我们登录的用户是hadoop,而我们当前的工作目录却是 / ,即这是我们总的目录,可以查看,这个没有权限设定,
说完了提示符后就来给大家介绍下Linux常用的命令吧:
先说下命令的格式:
command(命令) [-options](选项) parameter(参数)
带 - 就说明是选项,不带 - 则说明是选项,选项可以叠加,比如 ls -l -a -h 可写成ls -lah,没有先后顺序之分
关于用户的命令:
创建用户: adduser user 或者 useradd user
删除用户 : userdel user
切换用户 : su
ls命令:查看当前目录下的文件
-a 所有文件,包括隐藏的文件
-l 以列表显示 ,(和我们之前敲的ll一样,是ls -l的简写)
-h 显示一个合适的单位
ls还有以下的用法:
比如:ls f* :表示查询以f开头的文件,* 是通配符
ls f? : 表示以f开头但自由两个单词的文件,?表示一个随意的单词
ls f[1,2,3,4,5]e :这是采用正则表达式的方法来查询,表示t1e 、t2e、、、都行,都可以查找
对文件的操作:
mkdir : 创建一个文件夹
touch: 创建一个文件,可带后缀也可不带
rmdir: 删除文件夹,只能删除空的
rm : 删除文件或者文件夹,可re *.txt ,表示删除后缀为 .txt的文件,也可rm file -r :比如我们要删除的文件是个目录,而该目录下又有目录或者文件,这时候我们要用 -r 表示递归删除,一级级的删除,直至删除该文件或文件夹
mv : 重命名文件或文件夹 mv old_file new_file ,它也可以迁移文件,比如 mv a.txt /user/dir,表明将a.txt文件剪切并粘贴到/user/dir目录下
cp :拷贝文件或文件夹 cp file_dir user/dir 将file_dir 拷贝到user/dir下面,如果file_dir是一个文件夹,或者文件夹里面有文件,那么要使用 -r 来进行强制操作
重定向: 将本来要显示的内容放在一个文件里面去
1. ls > tan.txt 表示将查询的结果存入到tan.txt中,如果tan.txt中原来有文件,那么就会覆盖之前的文件内容
2. ls >> tan.txt 表示将查询的结果追加到tan.txt中去,如果之前tan.txt 有内容,那么它会追加到末尾
cd : 进入该目录或文件
相对路径和绝对路径:
cd ./a :表示跳转到当前路径下的a文件夹中
cd .. : 表示跳转到上一级目录
假设:当前目录:/home/a/b/c
需要跳转到a目录下的话:
1. cd ../.. 相对路径方法
2. cd /home/a 绝对路径方法
cd - 快速跳到上一次访问的目录下
cd ~ 回到根目录,也可叫主体目录
文件的权限:
我们来看下hadoop下面的文件吧,我们看下我用箭头指向的地方,这表示我们的权限,大家仔细看一下,是不是会发现有的文件开头有d ,有的只有- ,这里开头带d的说明这是一个文件夹,而开头是- 的说明是一个文件,我们也可看文件或文件夹的颜色也不一样,也算一种区分文件和文件夹的方式,
drwxrwxr-x 可分为d rwx rwx r-x,除去区分文件的d外分为了三组,第一组叫做所有 第二组 叫做 组(当前用户下的文件的操作权限) 第三组是其它用户权限,这个文件夹的第三组是r-x,说明其它用户可以读、可以执行,但没有r,所以不能进行写
r :读 w: 写 x:执行
而读的权限是4 w的权限是 2 x的权限是1,所以rwx也可写为 7,表示这三个权限相加,我们使用chmod来更改文件的权限
列 chmod w+r file,表明其它用户可以读和写来操作这个文件
还有最重要的一点,贯彻Linux的一切,那就是在Linux中, 一切皆文件 一切皆文件 一切皆文件 重要的话说三遍,
这点和python相同,在python中一切皆对象。