# 设置主机名
sudo vi /etc/hosts
127.0.0.1 主机名
sudo hostname 主机名
#####################################
# 题目一、基本命令
###################################
1.pwd # 查看当前目录的路径
2.cd # 切换目录 .当前目录 ..上一级目录 ~家目录
3.ls # 查看指定目录下的所有文件和文件夹信息,常用参数(-l用于长格式查看指定目录下的所有文件和文件夹信息 -ld以长格式显示指定目录的信息)
4.head -n 5 1.txt # 显示前五行
tail -n 5 1.txt # 显示末五行
5.mkdir qiMoTest # 新建文件夹
6.cp 1.txt test666 # 复制或者备份文件
cp -r test666 fsm # 复制或者备份文件夹
7.mv 2.txt fsm # 移动文件或文件夹
mv 1.txt hot.txt # 文件重命名
8.rm hot.txt # 删除文件
rm -rf test666 # 递归删除文件夹
rm test/* # 删除test所有文件,但不删除目录本身
9.ln -s 1.txt ruan # 创建软链接
ln 1.txt ying # 创建硬链接
10.tar -zcvf test.rar test666 # 压缩文件
tar -zxvf test.rar # 解压文件
11.find /etc -name 'f????' # 查找etc目录下所有以f开头的后面有四个字符的文件或目录
find /etc -user 'root' # 查找etc目录下文件所有者为root的文件或文件夹
find /etc -size +10c # 超找etc下大小大于10字节的文件或者文件夹
find test666 -type d # 查找test666下面的所有文件夹
find test666 -type f # 查找test666下面的所有文件
12.grep '老司机' 1.txt # 使用正则表达式查找文件内容
###################################
# 题目二、vi编辑器
###################################
源程序table99.c
#include <stdio.h>
int main()
{
int i,j;
for (i = 1; i <= 9; i++)
{
for(j = 1; j <= i; j++)
{
printf("%d*%d=%-2d ", j, i, i*j);
}
printf("\n");
}
return 0;
}
源程序gcd.c(最大公约数与最小公倍数)
#include <stdio.h>
int gcd (int a, int b)
{
int temp;
while (b != 0)
{
temp = a % b;
a = b;
b = temp;
}
return a;
}
int main()
{
int a, b;
printf("请输入两个正整数,之间用空格隔开,回车即可得到这两个数的最大公约数与最小公倍数:");
scanf("%d %d", &a, &b);
if (a < b)
{
int temp = a;
a = b;
b = temp;
}
int sum = gcd(a, b);
printf("最大公约数为:%d, 最小共倍数为:%d\n", sum, a*b/sum);
return 0;
}
源程序jt.c(鸡兔同笼)
#include <stdio.h>
int main()
{
int head,foot,j,t;
printf("请输入鸡和兔的总头数与总脚数,中间以空格隔开:");
scanf("%d %d", &head, &foot);
j = (4 * head - foot) / 2;
t = head - j;
printf("鸡有%d只,兔有%d只\n", j, t);
return 0;
}
# 编译程序
# 必须掌握
gcc table99.c -o table99
# 选择掌握
gcc -E table99.c -o table99.i
gcc -S table99.i -o table99.S
gcc -c table99.S -o table99.o
gcc table99.o -o table99
# 执行程序
./table99
##############################
# 题目三、用户和组管理
##############################
# 新建用户并设置密码添加家目录
sudo useradd -d /home/user01 -m user01
/etc/passwd
/etc/shadow
# 为用户设置密码
sudo passwd user01
# 删除用户
sudo userdel -r user01
# 切换用户
sudo su user01 # 切换用户的时候不切换当前目录
sudo su - user01 # 切换用户的时候同时切换到该目录的家目录
# 新建组
sudo groupadd group01
/etc/group
/etc/gshadow
# 删除组
sudo groupdel group01
# 为组设置密码
sudo gpasswd group01
# 为组添加用户
sudo gpasswd -a user01 group01
# 为组删除用户
sudo gpasswd -d user01 group01
#############################
# 文件权限管理
###############################
# 改变文件权限
u g o a
所有者 所属组用户 其他用户 所有用户
sudo chmod o+w 1.txt # 参数修改法
sudo chmod 664 1.txt # 数字修改法
# 改变目录权限(同样也有数字和参数两种方法)
sudo chmod g-w test # 修改目录本身权限
sudo chmod -R g-w test #递归修改目录以及目录中所有文件权限
# 文件所有者和所属组的修改、
sudo chown root:root 1.txt # 只写冒号前面是修改所有者,写冒号以及冒号之后的是修改属组,如果都写是同时修改所有者和属组
如果加上-R参数,则可以递归修改文件夹以内所有文件的所有者和属组,如果不加只修改文件夹本身所属
##############################
# 基本磁盘管理和文件系统管理
##############################
# 查看某磁盘现有分区
sudo fdisk -l /dev/sda
# 给某磁盘分区
sudo fdisk /dev/sda
n #新建分区
p #查看分区
w #保存修改
q #退出
# 侦测最新分区表,令分区立即生效
sudo partprobe
# 格式化分区并创建文件系统
sudo mkfs -t vfat /dev/sda3
# 创建一个目录作为挂载点,并将分区挂载到该挂载点
sudo mkdir /media/usb
sudo mount /dev/sda3 /media/usb
# 查看当前已经挂载的分区
df # df -T 显示挂载的文件系统类型
# 在该分区上面创建几个示例文件
sudo touch /media/usb/file1 /media/usb/file2 /media/usb/file3
# 卸载分区(非挂载目录条件下,跟挂载点或者挂载分区)
sudo umount /dev/sda3(或者/media/usb)
# 在系统中创建/program目录
sudo mkdir /program
# 用修改/program目录权限为所有用户均可读写
sudo chmod a+rw /program
# 在program下面创建usb.sh
usb.sh
#! /bin/bash
echo "welcome to use AUTOUSB"
echo "do you want to load usb(y/n)"
read ANSWER
if [ $ANSWER = "y" -o $ANSWER = "Y" ]
then
sudo mount -t auto /dev/sda3 /media/usb
echo "do you want to copy files to /root(y/n)?"
read ANSWER
while [ $ANSWER = "y" -o $ANSWER = "Y" ]
do
ls -a /media/usb
echo "type the filename you want to copy"
read FILE
sudo cp /media/usb/"$FILE" /root
if [ $? -eq 0 ]
then
echo "copy finished"
else
echo "copy errored"
fi
echo "any other files(y/n)?"
read ANSWER
done
sudo umount /dev/sda3
fi
# 改变usb.sh权限使其可以执行
sudo chmod a+x usb.sh
# 将/program添加到系统的PATH环境变量中,使得可以在任意目录访问到此脚本
sudo vi /etc/profile
内容:
export PATH=$PATH:/program
# 重新加载profile文件
source /etc/profile
然后在任意目录都可以通过usb.sh直接访问该shell脚本
###################################
# NFS服务器配置
####################################
# 检查是否安装了nfs软件包
sudo dpkg -l nfs-kernel-server
# 如果没有安装,则安装
sudo apt-get install nfs-kernel-server
# 配置nfs服务器/etc/exports文件
/tmp 192.168.86.0/24(rw,no_root_squash) # 读写权限,root用户拥有root权限
/home/nfs 192.168.86.0/24(ro) *(ro,all_squash) #只读权限,root用户映射为匿名用户
/home/andy 192.168.86.10/24(rw) # 读写权限
# 重启服务
sudo /etc/init.d/portmap restart
sudo service nfs-kernel-server restart
# 查看服务器上的共享目录
showmount -e 192.168.217.133
# 挂载目录
sudo mkdir testtmp
sudo mount 192.168.86.6:/tmp testtmp
################
# 网络接口配置
#############
# 产看网络接口的配置信息
sudo ifconfig eth0
# 为网络接口设置ip地址,广播地址,子网掩码
sudo ifconfig eth0 192.168.86.6 broadcast 192.168.86.255 netmask 255.255.255.0
# 检测与某个网络是否联通
ping 192.168.86.33
# 通过配置文件设置相应参数
sudo vi /etc/network/interfaces
# 重启网络接口服务
sudo /etc/init.d/networking restart
# 开启与关闭网络接口
sudo ifconfig eth0 up
sudo ifconfig eth0 down
# 开关网卡
ifup eth0
ifdown eth0
####################
#练习用的shell脚本
###################
#!/bin/bash
echo "input a file name:"
read file_name
# 如果该文件是一个字符特殊文件或者是一个块特殊文件
if [ -c $file_name -o -b $file_name ]
then
cp $file_name /dev
else
echo "$file_name is not a device file"
fi
#!/bin/bash
#求10以内自然数的平均值
num=1
while [ $num -le 10 ]
do
square=`expr $num \* $num`
echo $square
num=`expr $num + 1`
done
#!/bin/bash
echo "please select your operation:"
echo "1 copy"
echo "2 delete"
echo "3 backup"
read op
case $op in
1)
echo "your selection is copy"
;;
2)
echo "your selection is delete"
;;
3)
echo "your selection is backup"
;;
*)
echo "invalide selection"
;;
esac
#!/bin/bash
for DAY in sunday monday tuesday wednesday Thursday Friday Saturday
do
echo "the day is:$DAY"
done
#!/bin/bash
#if-else语句
if [ -x /bin/ls ]
then
/bin/ls
else
pwd
fi
#!/bin/bash
echo "input a file name:"
read file_name
if [ -d $file_name ]
then
echo "$file_name is a dir"
elif [ -f $file_name ]
then
echo "$file_name is a file"
elif [ -c $file_name -o -b $file_name ]
then
echo "$file_name is a device file"
else
echo "$file_name is an unknown file"
fi
原文链接:https://blog.csdn.net/qq_42195688/article/details/80579455