本文就Linux的基础知识的一些浅薄理解和应用操作,用户操作,文件操作,变量操作,压缩操作和系统计划任务进行展开。内容较为硬核,需仔细阅读理解,以实例代码辅助理解,方便快速上手
常见内核:微软,windows,苹果ios和mac,索尼,bsd内核,索尼,任天堂等
uname -r %查看版本号
uname --help %查看帮助
who am i %显示:用户名 pts(终端数) 登陆时间
%注:whoami是查询当前用户,who am i是查询终端对应用户
ls /etc/*release %展示/etc/下以release结尾的文件
%注:ls是list的缩写 ./是整个系统文件根目录
cat /etc/lsb-release %查看lsb-relase文件内容
mkdr rose %创建rose目录,即新建文件夹
cd /etc/rose/ %将/etc/rose/设置为当前路径
pwd %查看当前路径
touch file %创建名为file的文件
touch love_{1..10}_thornRose %创建10个文件
cd // %将根目录设置为当前路径
apt list %查看已装应用
apt search linuxlogo %查询linuxlog应用
apt install linuxlogo %安装linuxlogo应用
sudo apt install linuxlogo %以管理员身份安装linuxlogo应用
for i in {1..30};do linux_logo -f -l $i;sleep 0.5;done %循环打印30个图标
find */*/*.txt %查询所有txt 注意此处为相对路径,只能查到当前路径下的文件!
cat /etc/group | grep -E "lilei" %查看用户组中的lilei信息,用户相关知识点看下面的文章
xeyes %可召唤盯着鼠标的眼睛!
nohup xeyes & %将其放置后台
sudo kill -9 %结束进程,这里眼睛进程号为9
%上面的cat为查看文件 |为将前面的集合按后面的约束映射出来,-i属性为忽略大小写,-in属性为显示行数
locate /usr/share/*.jpg %查看 /usr/share/下的所有jpg文件(需安装locate)
man %可查看command_name的说明,其中command_name为某个待查询的命令名称
DNS(域名)服务器用于域名和IP的映射
直观看起来就像身份证一样
姓名: | 域名 |
---|---|
身份证号码: | IP |
而对于网络服务器可以设备对比理解
电脑:配置低;服务器:配置高,24小时不关机
服务器具有IP且需备案,但也有不同,服务器端IP相当于住宅楼的号码,一个住宅楼和外界联系是通过主干网络,但是住宅楼内部再分就是客户端IP,这个IP是依靠在服务器IP下面的,无法单独存在。
直接理解就是类似于windows的黑窗口
安全性强,门槛高,占用资源小,开源!
sudo apt install figlet %管理员身份安装figlet
figlet ROSE %使用figlet以特殊形式大字符显示字符ROSE
%可同理安装toilet ,对应的 --gay属性可表现多彩字体
%例如:
toilet --gay ROSE
%同理安装cmatrix 显示黑客帝国类似黑客背景,安装hollywood显示随机运行的乱跑程序等
%注意在软件安装时可能会需要将软件包更新
sudo apt update %更新软件包
%su可切换用户,sudo 以特权级别运行
sudo adduser lilei %创建lilei用户
%用户存放于/home目录下
su -l lilei %切换lilei用户
%ctrl+d为退出当前用户,返回至终端对应用户(终端用户与当前用户不一致时)
groups 用户名 %查看用户组
%sudo组中才可用sudo命令
sudo usermod -G sudo lilei %将lilei添加至sudo组中
sudo deluser lilei --remove-home %删除lilei用户
ls -l %列出文件即文件属性(-lh显示文件大小单位 -a显示隐藏文件)
%上面显示的文件属性为: 文件类型和权限 链接数 用户名 用户组 文件大小 最后修改时间 文件名
%文件类型和权限的显示解读:r读,w写,x执行,对应排列为用户权限,用户组权限,游客权限
sudo chown lilei file %文件授权(将其他用户的file文件的换为lilei的文件)
echo "..." %打印 ...
echo "..." > file %向file文件中写入 ... 注意两个>代表向后填入,一个代表覆盖填入
chmod 600 file %将file文件的权限修改为rw-------
%上面的数字对应权限,三个数字对应用户,用户组,游客,数字大小为二进制下的rwx,
%如r-x权限对应:1*2^2+0*2^1+1*2^0=5,rwx权限对应:1*2^2+1*2^1+1*2^0=7
mkdir mydir %创建mydir目录(文件夹)
mkdir -P father/son/grandson %创建多级目录
tree ./ %显示当前目录文件树
cp test father/son/grandson %复制test文件到father/son/grandson中
%若复制目录需在前面加上-r或-R属性,表示递归复制
rm test %删除test文件
rm -f test %强制删除test
rm -r family %删除目录(递归,-rf为强删目录)
mv file Documents %将file文件移动到Documents目录中
mv file myfile %把file重命名为myfile
安装rename
sudo apt install rename
touch file{1..5}.txt %批量创建5个文件
rename 's/\.txt/\.c/' %将.txt改为.c,参考正则表达式
rename 'y/a-z/A-Z/'*.c %将文件名改为大写
vi file %编辑file文件,进入编辑页面后:i开始编辑,按esc退出编辑后,:输入命令,w保存,q退出
declare tmp %声明tmp变量
tmp=shiyanlou %赋值时不能带空格
echo $tmp %打印tmp变量,$为读取变量,dos中为%tmp%
%运用变量时也需加$,如apth=$path
%环境变量修改可直接修改配置文件
sudo vi /etc/profile %修改配置文件,在文件内容最后插入对应环境变量
source /etc/profile %重新加载环境,即可直接使用环境变量,否则在下次启动时才会加载新的环境变量
touch hello_shell.sh %创建shell脚本
gedit hello_shell.sh %用gedit对脚本编辑(防止对齐等错误)
%编辑的hello_shell.sh内容部分:
# !/bin/bash %注:改行必须有
for((i=0;i<10;i++));do
echo "hello shell"
done
exit0
chmod 755 hello_shell.sh %添加可执行权限
./ hello_shell.sh %执行脚本
python rose.py %执行rose.py脚本
gcc -o hello_world hello_world.c %编译hello_world.c文件,编译后名为hello_world
PATH=$PATH:/home/lilei/mybin %在局部拼接path变量,注意拼接的分隔符为 :
cat /etc/shells %查看已装shell
%添加环境变量的另一种方式
echo "export PATH=$PATH:/home/lilei/mybin" >> .zshrc %直接将命令添置.zshrc中
%或直接用gedit .zshrc改文件
source .zshrc %重载环境,source别名为 . ,source .zshrc也可写为 . ./.zshrc
zip -r -q -o rose.zip /home/rose/Desktop %压缩文件目录/home/rose/Desktop为rose.zip
%-r代表递归压缩,-q代表安静(不打印压缩过程信息)-o表示输出文件,后跟输出名。可缩写为-rqo
%可加入参数-1到-9,代表压缩级别,数字越大,体积越小耗时越长
%为防止压缩自身路径造成死循环,可使用-x属性,如-x ~/*.zip代表排除用户目录下的zip文件进行压缩
unzip rose.zip %使用unzip解压zip文件(-q安静,-d指定目录,-l只查看不解压)
tar -p -cf rose.tar /home/rose/Desktop %压缩文件目录/home/rose/Desktop为rose.zip
%-p表示保留绝对路径符,-c创建tar包,-f指定创建文件名,需放最后,-v可视输出
mkdir tardir %创建tardir目录,为解压做准备
tar -xf rose.tar -C tardir %解压至tardir目录下
%-x表示解压,-C表示解压至已存在的路径,后跟目录,默认为本地
tar -tf rose.tar %只查看,不解压文件对应-t参数
sudo apt install -y rsyslog
sudo service rsyslog start
sudo cron -f &
%添加任务:
crontab -e %输入后会有提示,对提示首次启动通常选2(basic)
进入vim后点击i插入到最后
对应crontab计划任务的指令为
* * * * * 指令,*分别对应分,时,日(月中的),月,日(周中的)
如
*/1 * * * * touch /home/rose/$(date +\%Y\%m\%d\%H\%M\%S)
表示每隔一分钟创建一个文件
输入完成后按:然后输入wq保存并退出
可判断是否守护进程(后台运行)
ps aux | grep cron
%或
pg grep corn
查看日志
sudo tail -f /var/log/syslog %tail表示监听
查看任务指令
crontab -l
删除crontab运行的命令
crontab -r