Linux下程序设计基础
来源:互联网 发布:暴漫官方淘宝店是哪个 编辑:程序博客网 时间:2024/05/22 11:53
我是一名大三学生,学的虽然是计算机,可是大三之前感觉什么都没有学会,什么东西都像蜻蜓点水一般。后来越接近于毕业找工作,才慢慢的意识到这个问题,我到底这四年学到了什么。由于专业是物联网工程,就下定决心继续从事这个行业。
首先第一个需要熟练掌握的就是Linux下的编程,我记得有一次看人家博客提到说,每天用博客总结会对自己的学习以及日后的巩固起到很大的作用。所以我就开始写了我的第一篇博客。不管以后是成是败,我还是那句话,自己选的路跪着也要走完。
首先就是Linux用户应该熟练掌握的50个基本命令:(具体的参数和选项大家可以man 或者 info一下)
(1)系统安装和登陆命令:
login 登陆
shutdown 关机(安全的关机)
halt 关机并且是强制性的
reboot 重新启动系统
install 安装
mount 挂载 (文件与目录之间建立联系称之为挂载)
exit 退出
last 内置的跟踪程序(可以显示出已经登入的用户的名称 ,连接到计算机的方式,剩下的就是持续了多久)
(2)文件处理命令:
mkdir 建立一个文件夹
grep 查找文件或者文件夹
dd 复制文件到某个文件(dd if=/temp/tempfile of=/dev/fd0)
find 也是查找
mv 移动命令
ls list的意思
diff 比较差异(甚至可以不是一个文件)
cat 显示文件的内容
ln 建立连接(ln -s sourcefile targetfile)
(3)系统管理相关命令:
df disk free(检查文件系统的磁盘空间占用情况)
top 能够实时的显示各个进程占用资源的情况
free 显示总共的空闲或者使用过的物理内存和交换内存并且包括内核使用过的缓存
quota 显示出使用者硬盘容量以及限制,
lp 输出文件
adduser 增加用户
groupadd 增加组
kill 终止进程
crontab 任务调度(用crontab -e来为当前用户创建任务调度)
(4)网络操作命令:
ifconfig 显示当前的网络接口,以及输出结果
ip 和ifconfig作用相差不大,不过前者已经好久没有更新过了,建议使用第二种
ping 请求与host端的链接
netstat 输出网络链接,路由表,界面状态
telnet 写Telnet协议的用户界面
ftp 网络文件传输程序
route 路由
rlogin 打开SSH客户端
nslookup 质疑Internet名称服务器的相互作用
(5)系统安全相关命令:
passwd 密码
su 超级用户
umask 设置文件模式创造性的掩盖
chgrp 改变组
chmod 改变模式(权限)
chattr 改变在一个Linux文件系统下的文件指向
who 查看用户名以及其他信息
(6)其他命令:
tar 讲文件打包成一个文件包
unzp 解压缩Zip文件
gunzip 解压缩gzip gunzip zcat文件
man 一个在线的指导说明书
mtools 用于模拟ms-dos的指令
接下来使用到的命令我会一一在这详细记录:
首先是解压缩的tar 一般来说解压一个tar 文件 用到的是 tar -zvxf 这些选项,本身是不能解压缩的,所以必须要调用-z使用gzip来解压缩。
然后就是shell的脚本文件编写:
cat > myprogram 这是采用管道的方法将脚本直接写入myprogram必须要以#!来规定使用sh还是bash,不过一般看网上有人建议使用bash,我试了一下好像不行,所以还是使用sh。编写完成之后按crtl+d的方式退出编辑模式。最后还要更改权限使用chmod 755 filename 来修改。最后run 是./filename 。脚本文件一般用来执行重复性的工作,当进入系统时要查看有无信件,现有的用户群,之类的完成这些工作的命令都是固定的所以采用脚本,每次批处理就可以。
更改环境变量是PATH=$PATH:/some/directory
shell的内部命令:
:空,永远返回true. 执行一个脚本文件 bg 把程序转后台执行 exit 退出当前shell fg 把挂起的进程在前台执行
fc 编辑当前命令行历史列表jobs 显示后台进程执行情况 ulimit 显示或设置shell资源 hash 显示命令执行的次数和位置 source 执行一个脚本文件
umask 显示或设置缺省创建模式 pwd 显示出目录位置 break 结束一个循环的执行 continue 结束本次循环exec 目前程序中执行另外的程序
export 设置环境变量read 从键盘读入一行数据 return 退出函数并带返回值 set 设shell变量到标准显示 stop把后台执行的程序暂停
test 评估条件表达式 unset 从shell内存中删除变量 eval 读取参数执行的结果 readonly使变量只读
shift 名航参数左移一个times 显示shell运行过程时间 trap 捕获信号时运行命令 wait 等待到子进程运行完毕
alias 设置命令别名history 显示历史命令清单 kill 终止一个进程
以上命令,用于编写shell程序
shell中有两种命令分组的方法:{ },()
执行()中的命令时将再创建一个新的子进程,然后这个子进程执行()里的命令,当用户在执行某个命苦时,若不想让命令运行对状态集合的改变,影响后面语句的执行时,就应该把这些命苦放在()中,这样就能保证所有的改变只对子进程产生改变,而父进程不受影响。
{ }用于将顺序执行的命令输出结果用于另一个命令的输入(管道方式)。当用户使用{},()时需要在其前面加上转义符\以便shell指导他们不是用于命令执行的终止。
bash函数的实质是命令集合或批处理文件,在shell中定义的函数都是由若干条shell命令组成的命令集合,与shell程序形式相似,可看做是一条复合命令,不同之处在于他是多进程,函数定义的基本格式为:
[function]函数名()
{
命令行
}
- Linux下程序设计基础
- Linux程序设计基础
- Linux程序设计基础-编程基础
- linux下PWM程序设计
- Linux下串口程序设计
- linux应用程序设计基础--多线程程序设计
- Linux下程序设计常用函数
- Linux下程序设计常用函数
- Linux下程序设计常用函数
- Linux下程序设计常用函数
- Linux下程序设计常用函数
- linux下的chat程序设计
- Linux下的定时器-程序设计
- Linux下的定时器-程序设计
- Linux下多线程程序设计实验
- Linux程序设计基础-Linux文件、时间编程
- 程序设计基础之:循环结构的程序设计(下)
- Java 程序设计基础(第四版)下
- Objective-C动态性
- Search Paths 说明
- Django静态文件处理【开发环境】
- 【Android一般进阶】引用数据类型euqals()与==作用相同
- Leetcode the number of '1' bit
- Linux下程序设计基础
- 如何高效地判断数组中是否包含某特定值
- 递归函数,输入一个非负整数,返回组成它的数字之和。
- struts2的默认prepare拦截器
- MySQL远程访问设置终极方法
- Boosted Tree
- SwipeRefreshLayout组件 自己实现ListView下拉刷新
- LeetCode:Remove Linked List Elements
- NHiberbate使用