linux 基础储备
ls命令是Linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的文件,下面我们就来一起看看ls的用法
ls /home 这个命令不但可以添加用户到系统,而且可以默认为新用户创建home目录
linux 是一个可以实现多用户登录的操作系统,但是由于Linux的用户管理和 权限机制,不同用户不可以轻易地查看、修改彼此的文件。
在Linux系统中,root拥有至高无上的权利,比如添加/删除用户
su <user> 可以切换到用户 user,执行时需要输入目标用户的密码,sudo <cmd> 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。su - <user> 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。
su -l lilei
在Linux中每个用户都有一个归属(用户组),用户组简单的理解就是一组用户的集合,它们共享一些资源和权限。 但是分别也有自己私有的权限。
groups user//在Linux中知道自己属于那个用户组的,出来结果冒号之前表示用户,冒号之后表示用户所在的用户组
cat命令用于读取指定文件的内容并打印到终端输出。 |sort表示可以将读取的文 本做一个字典排序然后输出。
将其他用户加入sudo用户组,从而获得root权限
su -l lilei
sudo ls
会提示lilei不在sudoers文件中,意思就是lilei不在sudo用户组中,至于
sudoers文件中,暂时先不要动
使用 usermod 命令可以为用户添加用户组,同样使用该命令你必需有 root 权限,你可以直接使用 root 用户为其它用户添加用户组,或者用其它已经在 sudo 用户组的用户使用 sudo 命令获取权限来执行该命令。
这里我用 shiyanlou 用户执行 sudo 命令将 lilei 添加到 sudo 用户组,让它也可以使用 sudo 命令获得 root 权限:
$ su shiyanlou
$ groups lilei
$ sudo usermod -G sudo lilei
$ groups lilei
假设目前是以lilei的用户登录,新建一个文件叫做iphone6
touch iphone6
cd /home/lilei
ls iphone6
sudo chown shiyanlou iphone6//强制将下面文件所有者改为shiyanlou
//chown是将指定文件的拥有者改为指定的用户或组
如果你有一个自己的文件不想被其他用户读,写,执行,那么需要对文件的权限进行修改。
chmod修改权限
adduser 和 useradd 的区别是什么?
答:useradd 只创建用户,创建完了用 passwd lilei 去设置新用户的密码。adduser 会创建用户,创建目录,创建密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作。
直接输入pwd,获取当前路径 home/guohaoyu
获取路径如果cd后面加上 / 目录为起点的完整路径, 以你所要到的路径为 终点, 表现形式为/usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。
新建空白文件
创建名为test的空文件,因为在其他目录没有权限,所以需要先cd~,切换回用户的
/home/shiyanlou目录:
cd~
touch test
新建目录
使用mkdir命令可以创建一个空目录,也可同时指定创建目录的权限属性;mkdir表示make directions
mkdir mydir
mkdir -p father/son/grandson //p表示parents,表示递归创建目录,就是显示多个目录的意思
cd father/son/grandson
pwd
显示home/guohaoyu/father/son/grandson
复制文件
使用cp命令复制一个文件到指定目录/home/guohaoyu/father/son/grandson
cp test father/son/grandson
复制目录
要成功复制目录需要加上-r参数,表示递归复制
makedir family
cp -r father family
重命名文件
mv 旧的文件吗 新的文件吗
mv file1 file
Linux中的环境变量与文件查找
要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变量,所谓变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将用于不同的运算处理中。通常变量与值是一对一的关系,可以通过表达式读取它的值并赋值给其它变量,也可以直接指定数值赋值给任意变量。为了便于运算和处理,大部分的编程语言会区分变量的类型,用于分别记录数值、字符或者字符串等等数据类型。Shell 中的变量也基本如此,有不同类型(但不用专门指定类型名),可以参与运算,有作用域限定。
环境变量的作用域比自定义变量的要大,如shell的环境变量作用于自身和它的子进程。每个进程都有各自的环境变量设置。
有三个与上述三种环境变量相关的命令:set,env,export
命 令 | 说 明 |
---|---|
set |
显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。 |
env |
显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。 |
export |
显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。 |
关于 vim的使用:
毕竟只是vim的初级用户,只是在很少的情况下才使用
因为用的是mac,所以基本改的都是.bash_profile
所以正常用vim打开 vim ~/.bash_profile
然后要修改的话,就点一下i,代表insert
然后就修改呗
最后esc退出修改
在最后输入:wq保存并退出
恩,我就用这些,有的以后再补充。。。
有的时候open ~/.bash_profile更方便吧。。。