1. 目录与文件
1.1 ls(list),列出目录下的所有项
查看当前目录 ls
查看/home/abc 目录 ls /home/abc
查看根目录 ls /
以详细模式查看 ls -l /home/abc
1.2 pwd(print working directory),显示当前工作目录
1.3 cd(change directory),切换目录
切换到用户主目录 cd
切换到某个目录 cd /home/abc/example
几个特殊的目录:~ 代表当前用户的主目录;. 代表当前目录;.. 代表上一级目录
例如:
cd ~ 切换到主目录
cd ~/example 切换到主目录下的example目录
cd ../www 切换到上级目录、再到www子目录
(在ls命令中,也可以使用~ . ..表示路径)
1.4 mkdir(make directory),创建目录
mkdir abc
mkdir -p abc/123/test 使用-p参数,可以将路径的层次目录全部创建
1.5 rmdir(remove directory),删除空目录
rmdir abc 注:若目录非空则无法直接删除
1.6 rm(remove),删除文件或目录
rm -rf abc 删除abc目录,并且将子项一同删除
1.7 cp(copy),复制文件或目录
cp -rf example example2 将example目录及其子项复制为example2目录
1.8 mv(move),移动文件或目录(重命名)
mv hello helloworld 将hello文件重命名为helloworld文件
1.9 tar(tape archive),档案打包
创建档案包 tar -cvf example.tar example
其中
c,表示create创建档案
v,表示verbose显示详情
f,表示file
将多个目录打包 tar -cvf xxx.tar file1 file2 file3
还原档案包
x,表示extract释放
tar -xvf example.tar
tar -xvf example.tar -C outdir
其中,-C参数指定目标目录,默认还原到当前目录下
归档并压缩(先前的tar格式并没有压缩,体积较大)
并档并压缩
tar -czvf example.tar.gz example
解压缩
tar -zxvf example.tar.gz
tar -zxvf example.tar.gz -C outdir
1.10 软链接
软链接,即Windows系统中的“快捷方式”
使用ln命令(link)来创建软链接
ln -s source link
其中,-s表示soft软链接
ln -s example example2 即example2是example的软链接
软链接的特点:删除软链接对原文件无影响,删除源文件则软链接失效
ls -l 查看文件的目标路径 例如l s -l / 可以看出 /bin实际指向的是 /usr/bin 目录
2. 用户
2.1 useradd 添加用户
其中 sudo 表示以管理员身份执行
sudo useradd -m test1 添加用户test1(-m 表示在/home下添加用户目录)
sudo passwd test1 修改用户密码
sudo userdel test1 删除用户
注:在登陆系统时,默认不允许以root用户登录
只有特殊的用户,才能执行sudo,比如新创建的用户test1无法执行sudo
2.2 root 超级用户
超级用户:root(类似于Windows下的Administrator用户)
切换到root用户有全部的权限,可以直接执行useradd等命令
sudo passwd root 首次使用时,给root用户设置一下密码
su root 切换到 root 用户 (su表示switch user)
exit 退出 root 用户
注:su root 仅仅对当前会话(终端)有效,不影响当前桌面环境
root 权力太大,需谨慎使用
2.3 用户组
Linux下可以创建多个用户,也可以用组进行管理用户
例如男生组 boys 包含 ming bo gang qiang
女生组 girls 包含 fang hong yue yuan
groupadd boys 创建boys组
useradd -m -g boys ming 其中-g表示在添加用户,同时将用户加到boys组
usermod -g boys abc 修改现有用户abc转移到新的组boys,其中usermod表示修改用户信息
cat /etc/group 查看用户和组,每一行表示一个group的信息,名称+ID
cat /etc/passwd 查看用户列表,每一行表示一个用户的信息
注:用户不多时,管理时并不使用组的概念
一般来说useradd a1 useradd b1 一个root和两个普通用户a1,b1足够使用
默认地,会给a1用户建立一个同名的组a1,这个组里只有一个a1用户
3. 文件权限
3.1 文件的权限
- owner:文件的属主 owner
- r:文件是否可读 read
-w:文件是否可写 write
-x:文件是否可以执行 excute
使用ls -l可以查看一个文件的权限,如 ls -l simple.txt
例如显示:-rw-r--r--. 1 abc abc 13 5月 19 01:33 simple.txt
含义---- 类型:目录d / 文件 -
权限:链接/子项数:属主:组名:文件大小:修改时间:文件名
权限分为三部分:自己|同组|别人 (rw-r--r--)
3.2 chmod(change file mode),修改文件的权限
若一个文件simple.txt想让别人也可以修改
可执行:chomod o+w simple.txt,其中o表示other别人,+w表示增加写write的权限
同理"-"表示删减某种权限
其他方式:chmod a+w simple.txt 所有人all添加w权限
chmod a-w simple.txt 所有人all减去w权限
chmod u+w simple.txt 仅用户user自己的权限+w
chmod o-w simple.txt 修改别人other的权限-w
注:只有文件的属主或者root可以修改文件的权限
省略写法:chomod +w simple.txt 默认修改自己和本组的权限、
3.3 chown(change owner),修改文件的属主
一般来说,每个用户只操作自己的用户目录,chown并不常用
示例:在/opt目录下建立一个文件夹software,并将software目录分配给用户abc
su root 只有root才有权限
mkdir /opt/software
chown -R abc /opt/software -R表示对该目录中所有的文件进行操作
ls -ld /opt/software
注:只有文件的属主和root才有权限更改属主
4. 脚本
4.1 可执行脚本
脚本Script,一种解释执行的程序
Linux下常见的三种脚本程序:
-Shell 脚本 *.sh
-Perl 脚本 *.pl
-Python 脚本 *.py
脚本文件本质是一个文本文件,具有可执行权限
脚本程序都是由解释器来执行的
-Shell 脚本解释器:/bin/sh
-Perl 脚本解释器:/bin/perl
-Python 脚本解释器:/bin/python3
执行一个脚本时,以下两种方式等效:
./hello.py
/bin/python3 hello.py
4.2 Shell 脚本
Shell脚本,按Shell语法写出来的脚本,是Linux自带的脚本语言,
相当于Windows下的DOS批处理脚本
编辑一个文本文件,保存为hello.sh
#!/bin/sh
echo "hello,world"
添加可执行权限
chmod +x hello.sh
执行程序
./hello.sh
/bin/sh hello.sh
注:脚本第一行必须声明解释器类型
#!/bin/sh
必须有x权限才能够执行,比如一程序只有作者用户可以执行,别人无法执行
rwxr--r--
执行程序时,必须加上路径
./hello.sh
/home/abc/hello.sh
4.3 Python 脚本
编辑一个文本文件,保存为hello.py
添加可执行权限
chmod +x hello.py
执行程序
./hello.py
5. 环境变量
环境变量,即存在当前环境中的变量(如PATH,JAVA_HOME)
export OUTDIR=/opt/ 定义环境变量
echo ${OUTDIR} 显示环境变量
printenv 查看所有环境变量
环境变量的使用:
-可以在当前终端使用
-可以在SHELL脚本中使用
例:在Shell脚本中调用一个环境变量
终端:export OUTDIR=/usr/local
Shell脚本:
#!/bin/sh
echo "${OUTDIR}"
终端执行:./simple.sh
终端输出:/usr/local
注:在命令行中定义的环境变量,只对当前SHELL终端有效
关闭终端后,重启后环境变量就消失了
5.1 用户环境变量
用户环境变量:定义在~/.profile 中
在主目录下执行 ls -a
其中a表示all,显示所有的文件(直接ls无法查看隐藏文件)
注:在Linux下,以.开头的文件为隐藏文件
gedit ~/.profile 用文本编辑器打开~/.profile
export JAVA_HOME=/opy/jdk1.8 添加用户环境变量,保存并关闭
source~/.profile 或者注销后重新登陆使得用户环境变量生效
echo $JAVA_HOME 输出环境变量
注:此配置只对当前用户有效,因为每个用户都有自己的配置文件.profile
5.2 系统环境变量
系统环境变量:定义在/etc/profile 中,对所有用户都有效
以root身份执行 gedit /etc/profile
注:一般不直接修改/etc/profile,而是在/etc/profile.d/ 创建一个自定义的脚本
如下:
gedit .etc/profile.d/myprofile.sh 用gedit创建一个脚本
export TOMCAT=/opt/tomcat 定义环境变量
注销后重新登陆,环境变量生效
5.3 PATH环境变量
PATH环境变量用于描述可执行程序的搜索路径
echo $PATH 输出PATH环境变量,多个路径之间以冒号分隔
usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
默认地,系统从以下目录中搜索可执行程序
/usr/bin 比如,/usr/bin/tar
/usr/sbin 比如,/usr/sbin/useradd
/usr/local/bin
/usr/local/sbin
其中,sbin为超级用户root才能执行地程序,
/usr/下为系统自带的程序,/usr/local/是用户安装的程序
例:修改PATH环境变量:
gedit /etc/profile.d/myprofile.sh
export PATH=$PATH:/home/abc 设定PATH环境变量
注销重新登陆后生效