C语言基础 (2) linux命令
01.课程回顾
链接
ln 1.txt aaa.txt 硬链接
(两个相互独立 删除一个另外一个还在)
ln -s 1.txt aaa.txt软连接 (后面的是快捷方式)
硬链接只能是文件,软连接可以是文件夹
grep aaa 1.txt
tar -cvzf xxx.tar.gz *
tar -xvzf xxx.tar.gz
tar -cvjf xxx.tar.bz2 *
tar -xvjf xxx.tar.bz2 -C ./
为了兼容windows的zip:
zip -r aaa *
unzip -d ./ aaa.zip
*硬链接与软链接的区别
在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号inode 。软连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的(那就和windows 下的快捷方式的那个文件有很接近的意味)。软链接产生的是一个新的文件,但这个文件的作用就是专门指向某个文件的,删了这个软连接文件,那就等于不需要这个连接,和原来的存在的实体原文件没有任何关系,但删除原来的文件,则相应的软连接不可用(cat那个软链接文件,则提示“没有该文件或目录“)
硬连接是不会建立inode的,他只是在文件原来的inode link count域再增加1而已,也因此硬链接是不可以跨越文件系统的。相反都是软连接会重新建立一个inode,当然inode的结构跟其他的不一样,他只是一个指明源文件的字符串信息。一旦删除源文件,那么软连接将变得毫无意义。而硬链接删除的时候,系统调用会检查inode link count的数值,如果他大于等于1,那么inode不会被回收。因此文件的内容不会被删除。
硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。可以通过ls -i来查看一下,这两个文件的inode号是同一个,说明它们是同一个文件;而软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件。
软链接可以跨文件系统,硬链接不可以;软链接可以对一个不存在的文件名(filename)进行链接(当然此时如果你vi这个软链接文件,linux会自动新建一个文件名为filename的文件),硬链接不可以(其文件必须存在,inode必须存在);软链接可以对目录进行连接,硬链接不可以。两种链接都可以通过命令 ln 来创建。ln 默认创建的是硬链接。使用 -s 开关可以创建软链接。
02常用命令 whoami、exit、su
查看当前谁在用:whoami
查看登陆记录:who
查看登陆记录:w: w显示的信息更详细一点
退出登录:exit
sudo命令的作用:
切换用户 sudo su root
sudo su
sudo su -
加 – 就会去到你用户所在目录
03 groupadd、groupdel、usermod(了解)
创建一个用户(系统默认创建一个用户组,这个用户组的名字和用户的名字是一样的)
查看用户组信息: cat /etc/group,看用户组名,用户组id 就好比QQ群
groupadd abc
sudo groupadd abc
sudo groupdel abc
修改用户所在组:usermod
查看用户信息: cat /etc/passwd (←这个不是查看密码 是查看用户信息)
问题来了…1000这个号是哪个组呢?
04 删除用户组补充
组里没有人才能删,所以如果想删除应该先把用户换个组
05 useradd、passwd、userdel_rec
添加用户:
useradd -d(指定主目录) /home/abc abc -m(如果abc不存在自动创建)
useradd -d(指定主目录) /home/abc abc -m -g mike
sudo userdel hello (目录没有删除掉)
sudo userdel abc -r (连同目录一起删除)
sudo password abc
06 chmod(非常重要)
sudo last
有两种方式:一种是好理解,但是麻烦
一种是不好理解,但是简单
一、字母法:
ll 先查看一下:
chmod g+x 1.c
chmod g-x 1.c (在group组里面减去x(可执行))
第二种方式:
chmod o=rwx 1.c
二、数字法:
rwx
---
000 0代表没有任何权限
r—
100 4 代表有读权限
-w-
010 2 代表有写权限
--w
001 1 代表有执行权限
rw-
110 6 代表有读写权限
这种方法…
600 分别代表 用户 用户组 和 其他
6代表4+2
chmod 600 1.c
chmod 124 1.c第一个只有可执行 第二只有写 第三个只有读
******
chmod 777 1.c
******
文件夹权限说明:
chmod u-x ./abc
x:没有此权限,不允许用户进入
r:没有这个权限,无法查看文件夹的内容
w:没有这个权限,无法新建(就算 vi 1.c了也没法往里写东西)或删除文件
07_常用命令:chown、chgrp
sudo chown aaa 1.c (change own 改变文件所有者)
sudo chgrp root 1.c
08_常用命令:ps、top、kill_rec
查看日期
cal (calender)
cal -y
date
ps
ps -aux
显示其他用户启动的进程(a)
查看系统中属于自己的进程(x)
启动这个进程的用户和它启动的时间(u)
-9 强力杀进程
top命令
区别于 ps -aux动态的显示
9.复习上面的内容..
10_常用命令:&、jobs、fg
举例:
直接运行hello是在前台运行
./hello & 加上这个取地址号以后就在后台运行着了
PID:4318在后台运行着
怎么让一个在运行着的程序切换到后台?
Ctrl + Z
jobs查看后台运行的进程
fg 3 把第三个调用到前台
fg 2
11_常用命令:字符图形切换、df、du
reboot 立即重启
shutdown -r now 给用户提示,重启
检测目录所占磁盘空间:du
du是查看某个目录的大小
df是检测磁盘的空间
如果是在ubuntu平台,软件的安装而可以通过互联网在线安装,更加方便快捷:
sudo apt-get update
sudo apt-get install xxx
sudo apt-get remove xxx
12_常用命令:ifconfig、ping
ifconfig 相当于Windows下的ipconfig
ping
13_课堂答疑:ping作用
ping代表我去你的路上是通的 但是你去我的路上不一定是通的
14_vi最基本的操作
- gedit是一个Linux环境下的文本编辑器,类似windows下的写字板程序。
- vim 是 vi的升级版本 敲vi和vim都一样的 都是调用的vim
退出保存的方式, 按一下ESC 然后两个大写的Z (可以按两次shift+z)
15_vi的插入模式和退出
:q! 代表退出不保存
:wq 保存退出
vi hello.c +5 打开并且在第五行
几个命令:
a 光标插入
I 在当前位置插入
o 光标位置下方开启新行
O 光标位置上方开启新行
I 光标所在行首插入文字
A 光标所在行尾插入文字
:wq 保存退出
:w 保存退出
:w 另存为
16_vi的配置 (这个可能需要重新看一下)
F9: 侧栏
\p< 头文件
\im 生成一个main函数
\ip 生成一个printf
ctrl+n 显示历史写的代码
1、 安装vim
sudo apt-get install vim
2、 安装ctags
sudo apt-get install ctags
3、 配置vim
1) 把文件夹<vim_configure>拷贝到虚拟机任意目录
2) 进入此文件夹,sudo运行copu_con.sh脚本
cd vim_configure
./copy_con.sh
拷贝成功后,出现copy successful
(如提示没有权限:请使用:chmod u+x copu+con.sh增加执行权限
17_vi其它常用命令
set指令 设置行号:
18_windows和linux相互远程操作
19_linux相互远程操作
windows远程登陆linux需要借助软件 xshell
1) 远程登录前 需要测试一下网络是否ping通
2) 使用软件连接
linux互相连
ssh -l username hostip
20_web服务器的搭建
20_web服务器的搭建
21_网页版helloworld
后缀名一定是.cgi
C语言基础 (2) linux命令的更多相关文章
- C语言编程实现Linux命令——who
C语言编程实现Linux命令--who 实践分析过程 who命令是查询当前登录的每个用户,它的输出包括用户名.终端类型.登录日期及远程主机,在Linux系统中输入who命令输出如下: 我们先man一下 ...
- SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作
摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...
- Linux基础-1.Linux命令及获取帮助
1.Linux命令的格式 1)了解Linux命令的语法格式: 命令 [选项] [参数] 2)掌握命令格式中命令.选项.参数的具体的含义 a)命令:告诉Linux(UNIX)操作系统做(执行)什么 b) ...
- 基础的linux命令(一)
我练习使用的 Linux 系统是 CentOS 7 它是通过把 RHEL 系统重新编译并发布给用户免费使用的 Linux 系统. 首先你需要一台Linux虚拟机,如果没有,也没关系,点这里 一.命令格 ...
- 【Linux基础】Linux命令date 日期时间
1.显示到纳秒 date +%F.%H:%M:%S.%N --:38.740127086 date +%Y-%m-%d.%H:%M:%S.%N2019-04-25.00:28:24.060756673 ...
- 林克的小本本之——记一些基础的linux命令
查看shell cat /etc/shells 查看系统支持的shell echo $SHELL 查看目前正在使用的shell 快捷键 Ctrl+a 跳到行首 Ctrl+e 跳到行尾 Ctrl+u 删 ...
- 基础的Linux命令(二)
本文介绍两大类命令,都是最基础的部分 系统状态监测命令 工作目录切换命令 一.系统状态监测命令 1. ifconfig 命令 用于获取网卡配置与网络状态等信息 如下图:inet后面是 IP 地址,et ...
- oracle-SQL语言基础-事务控制命令命令
事务控制命令命令 COMMITROLLBACKSAVEPOINTSET TRANSACTION 当第一条可执行的SQL语句开始执行,数据库事务就开始.随着下面任一事件发生,数据库事务结束:执行COMM ...
- Linux基础与Linux下C语言编程基础
Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...
随机推荐
- dos命令,jdk&jre&jvm的关系,classpath和path区别
Day01_SHJavaTraing_4-2-2017 一.学习方法 1.独立思考 2.独立整理.总结知识点 3.整理Exception报错文档 4.莫钻牛角尖 5.敲代码,敲,猛敲,死里敲 6.写代 ...
- 7、A Design of Group Recommendation Mechanism Considering Opportunity Cost and Personal Activity Using Spark Framework---使用Spark框架的基于机会成本以及个人活动群组推荐机制
来源EDB2018---EDB 一.摘要: 组推荐是将一种项目(例如产品.服务)推荐给由多个成员组成的组的方法. 最小痛苦法(least Misery)是一种具有代表性的群体推荐方法,其能够推荐考虑群 ...
- [学习笔记] CS131 Computer Vision: Foundations and Applications:Lecture 3 线性代数初步
向量和矩阵 什么是矩阵/向量? Vectors and matrix are just collections of ordered numbers that represent something: ...
- Python中的itertools.product
例子1:import itertoolsa = itertools.product([1,2,3],[100,200])print(a)for item in itertools.product([1 ...
- jquery @keyframes 动态添加
需要写一个css3的动画效果,且需要按着写的事件同事进行需控制样式 css代码 @keyframes spin1 { 0% { transform: rotate(225deg); } 50% { t ...
- python--(爬虫-re模块)
python--(爬虫-re模块) re模块四大核心功能: 1.findall 查找所有,返回list import re lst = re.findall("m", " ...
- UVALive 5545 Glass Beads
Glass Beads Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVALive. Origin ...
- 简单谈谈MySQL优化利器-慢查询
慢查询 首先,无论进行何种优化,开启慢查询都算是前置条件.慢查询机制,将记录过慢的查询语句(事件),从而为DB维护人员提供优化目标. 检查慢查询是否开启 通过show variables like ' ...
- ASP.NET-优化websit
如何优化一个网站 1.如果是数据库的问题则尝试添加索引.优化SQL语句,如果是算法的问题,则优化算法. 2.如果对于一些不经常改动的页面可以使用静态页技术! 3.对于一些数据不需要及时更新的而且取数据 ...
- web前端project师知识汇总
分类: Web开发应用 一.何为Web前端project师? 前端project师,也叫Web前端开发project师.他是随着web发展.细分出来的行业.Web前端开发proj ...