Linux复习
@Author:Liufan
@Date:2019-1-2
一、用户管理
1、添加用户
sudo useradd -m -d /home/test1 test1
- -m 自动建立用户登入目录
- -d 指定用户的home目录路径
- test1是用户名
2、删除用户
sudo userdel -r test1
- -r 自动删除用户目录
- test1是用户名
3、改变用户配置
sudo usermod -l testModify -d /home/testModify test1
- -l 修改用户名
- -d 修改用户目录
- test1 是用户名
4、操作组
groupadd -a goup1
gpasswd -a user group #将user加入group
gpasswd -d user group #将user从group删除
#或者用这个
usermod -G group user #将user加入group注意一定是大写,-g是将user的home目录所有组改为对应的组,在/etc/group中不会将user添加道对应的group
- -a 添加
5、修改文件所有者
sudo chown user[:group] file
文件所有者设置有user可以理解,为什么会有可选的group呢?
我的理解是这样,我们知道文件的权限是对三个目标来说的,分别是所有者、所有组、其他。
那么这里有可选的group就是说的设置所有组。对于root用户来说这里的user并不一定要是属于这个group的
但是当权限设置为770的时候,只有其所有者和其所有组才可以进行相应操作
而一般新建文件的时候如果不指定默认组则是默认为当前用户的当前组
newgrp可以切换当前分组
6、修改权限
sudo chmod 777 file
二、设置别名
比如我们键入ll出来的其实是ls -a的内容,那么ll就是ls -a的别名,这是系统自带的,下面我们尝试自己设置别名。
首先存储别名的文件在/root/.bashrc里面
sudo nano /root/.bashrc
#进入后找到alias xx=xxxx字样的地方添加即可
#例如:
alias cd='cd ~'
#然后保存退出,重新读入该文件
source /root/.bashrc
#接下来使用cd 会发现自动跳转道home目录
三、文件操作
1、文件的创建
#command 1
touch liufan
#commadn 2 使用cat
cat > liufan #创建liufan文件并且将流导入,ctrl+c结束
cat > liufan << end #创建liufan文件并且将流导入,
cat >> liufan #创建liufan文件并且将流导入到其末尾,如果已经存在则追加,ctrl+c结束
cat >> liufan << end #创建liufan文件并且将流导入到其末尾,如果已经存在则追加,end回车结束
#command 3 使用工具
nano liufan
vim liufan
#还有很多不举例了
2、文件夹的创建
mkdir folderName
mkdir -p folderPath #父路径一起创建
3、文件的删除
rm file
rm -rf path #强制删除
rmdir folder #删除文件夹 和rm -d 差不多
rmdir -p folderpath #删除文件夹后如果父目录为空也会被删除
4、文件的压缩、解压缩
tar -cf tarName test* #将test*的文件压缩到tarName
tar -xf tarName #解压缩tarName到当前路径
四、脚本
1、实验10题
2、斐波那契数列实现
#!/bin/bash
n1=1
n2=1
echo "F(1)=$n1,F(2)=$n2,please enter n to show you F(n):"
read n
value=3
if(($n<1))
then echo "Error:n is small than 1!"
exit
elif (($n==1))
then echo "F(1)=$n1"
elif (($n==2))
then echo "F(1)=$n1"
echo "F(2)=$n2"
else
echo "F(1)=$n1"
echo "F(2)=$n2"
#loop on this from 3 to n
while(($value<=n))
do
if(($value%2==1))
then
let n1=$n1+$n2
echo "F($value)=$n1"
else
let n2=$n1+$n2
echo "F($value)=$n2"
fi
let value=$value+1
done
fi
五、网络配置
配置ip地址和子网掩码:
sudo ipconfig [网卡] [ip地址] [netmask] [子网掩码]
六、gcc编译c文件
gcc test.c -o gccTest#编译生成可执行文件
./gccTest#运行
例:
nano test.c
#include<stdio.h>
int main(){
printf("helloWorld\n");
return 0;
}
gcc test.c -o gccTest
./gccTest
#应当输出helloWorld
#如果是C++好像找不到iostream这个库