Linux
什么是系统编程
简单的程序模型
把输入数据做相应的处理,例如用户在键盘输入,屏幕得到输出
系统模式
多个用户系统,应该如何正确执行?必须采用一种机制进行管理,他就是操作系统
操作系统职责
1.操作系统也是程序
2.为程序提供服务
3.操作系统也被称为内核
系统资源
1.处理器CPU
2.输入输出I/O
3.进程管理
4.内存
5.设备
6.计时器
7.进程间通信
8.网络
操作系统分类
常见的操作系统分为:个人版操作系统,服务器操作系统,非pc操作系统
Linux和windows的区别
1.Linux主要使用命令行操作windows是图形化界面
2.Linux主要用于服务器,windows是个人操作系统
3.Linux属于开源项目,windows不开源
Linux的组成
由内核,shell,应用程序组成
Linux内核版本
发行版本
1.红帽系:
2.Debian系列:
3.openSUSE:
学习建议
1.培养命令窗口操作
2.养成安全谨慎的习惯:养成备份习惯、尽量少用root、敲命令不是越快越好、不要把服务器密码信息记录在文档里。
Ubuntu桌面操作系统使用
图形设置
1.设置下载源
2.设置分辨率
常用快捷键
Ctrl+C:终止命令 Ctrl+D:退出终端 Ctrl+Z:暂停进程 Ctrl+L:清屏
用户和组
Linux系统支持多个用户在同一时间内登陆,不同用户可以执行不同任务,切不影响。
UID和GID
创建用户
创建组
su和sudo
文件管理
目录结构
以单根的方式组织文件
文件管理
1.文件类型
-:普通文件 d:目录文件 I:软连接 b:块设备 c:字符串设备 s:套接字文件 p:管道文件
2.文件权限chmod
权限分配:rwx,即对文件读、写、执行权限。
权限计算:r–4 w–2 x–1
3.修改文件权限命令chmod
chmod命令中用u、g、o代表3种身份,用a表示全部身份。
修改文件所属组chgrp
chgrp命令用于修改文件或目录的所属组。
sudo chgrp g1 u1 #修改u1目录的所属组为g1
修改文件所属者chown
chown命令,主要用于修改文件或目录的所有者。
sudo chown u1 text.txt #修改text.txt的所属者为u1
注意:
sudo groupmod -g 3333 g1 #修改g1组的id为3333
sudo usermod -u 123 u1 #修改u1id为123
网络设置-虚拟机和主机互通
1.安装ifconfig
2.查看ip地址
3.ping:ping ip测试本机与ip地址的主机是否互通。
Linux搭建ssh远程登陆服务器
1.开启ssh服务:查看是否安装:ssh-v
安装:sudo apt install openssh-server
更新数据:sudo apt-get update
2.查看服务是否开启:ps -aux | grep ssh
如果没有开启,输入:service sshd restart
whoami查看当前用户下的用户名
who am i 查看登录时的用户名
who 显示当前登陆系统中的所有用户
Linux的常用命令
基本命令
1.关机shutdown 重启reboot
shutdown -h now #立即关机
shutdown —r now #立即重启
2.帮助命令–help、man
ls --help #查看ls命令的帮助
man ls #产看ls命令说明书
3.pwd查看当前目录绝对路径
4.产看进程ps
ps #显示当前进程
ps -A #显示所有进程
ps -au #以用户的格式显示进程信息
ps -aux #显示系统所有进程的详细信息
ps -aux | grep sshd #产看sshd服务
查看进程树pstree:-p:显示进程的PID -u:显示进程的所属用户
more命令:类似cat,不过是一页一页的形式显示
more -s test #逐页显示文档内容
more +20 test #从第20行开始显示
grep命令:用于查找文件里符合条件的字符串
grep "printf" 1.c
5.结束进程kill
kill 222 #正常方式终止进程
kill -kill 222 #直接杀死进程
kill -9 222 #直接杀死进程
kill -15 222 #释放资源后,直接杀死
6.ifconfig查看网卡信息
ifconfig efh0 down #关闭网卡
ifconfig efh0 up #开启网卡
7.动态监控进程top
-d:指定每隔几秒更新
-i:不显示闲置或僵死的进程
-p:指定监控的进程ID,仅仅监控某个进程状态
目录操作指令
1.切换目录cd
cd /home #绝对路径,切换到home目录
cd ../ #相对路径,切换到上一级
cd ../.. #切换到上上一级
2.查看目录ls
ls #查看当前目录下的所有目录和文件
ls -a #查看当前目录下的所有目录和文件(包括隐藏文件)
ls -l #按名称,列表查看当前目录下的所有目录和文件
ls -al #按名称,列表查看当前目录下的所有目录和文件(包括隐藏文件)
ll #查看列表当前目录下的所有目录和文件
3.创建目录mkdir
mkdir aaa #当前目录下创建一个aaa的目录
mkdir -p ccc/ddd #在ccc目录下创建一个名为ddd的目录(ccc不存在自动创建)
4.删除目录rmdir
rmdir aaa #删除当前目录下空aaa
rmidr -p aaa/bbb #删除当前目录下空aaa/bbb
rm -rf aaa/bbb #递归删除,彻底删除
5.拷贝目录cp
cp -r bbb ccc #递归将bbb目录复制到ccc目录下
cp -rp aa bb #保持文件属性把aa复制到bb
6.修改目录mv
mv aaa ccc #将目录aaa改为ccc
mv ccc/bbb . #将ccc下的bbb目录剪切到当前目录下
7.历史命令history
history +10 显示最新的10条历史命令
8.whatis:打印任何其他命令的单行说明
9.wc计数
wc 1.c
行号 字节数 名称
文件操作
1.创建文件touch
touch /home/aa.txt #在home目录下创建一个aa.txt
2.删除文件rm
rm -f aa.txt #强制删除aa.txt
rm -rf aa/a.txt #彻底删除
3.修改文件vi/vim
vim aa.txt #vim编辑当前目录下的文件
4.查看文件内容cat/more/less/head/tail
cat aa.c #看最后一屏
cat -n aa.c #带有行号显示