linux学习之基本命令
来源:互联网 发布:翻译机 知乎 编辑:程序博客网 时间:2024/06/03 16:22
最近课上要考linux,看了《鸟叔的私房菜》,鸟叔写得非常好,安装了一个ubuntu,学习了一些linux的基本命令和基本操作。填坑如下:
1、sudo su root 获取root权限,输入密码是不显示的。增加如果忘记了root密码
2、exit:注销linux
3、ls :list,列出当前的文件,在linux中,一切皆为文件,所以这个命令经常用来查看文件
ls -al 列出当前目录的所有隐藏文件及其属性(如下图)
ll 同上
ls -a -l同上
顺便解释一下这张图代表的意思,按照列,第一列到第七列标号为[1][2]…[7]
[1]:表示文件的权限,第一个字母表示为文件类型,在linux中
文件类型:
-: 表示普通文件
d: 目录
b: 块特殊文件
c: 字符特殊文件
l: 符号链接文件
p: 命名管道文件FIFO
s: 套接字文件
.:隐藏文件
后面的9个字母为文件权限,拿第一行举例,drwxr-xr-x表示这个文件为目录,除去d,每三个字母为一组,r(read),w(write),x(execute),-(没有这个权限)
第一组是“文件所有者的权限“(rwx)
第二组是”同用户组的权限“(r-x)
第三组是”其他非用户组的权限“(r-x)
关于linux用户组方面的概念,自行百度。
[2]:”表示有多少文件名连到此节点(i-node)”
[3]:表示这个文件(或目录)的”所有者账号“
[4]:表示这个文件的所属用户组
[5]:表示这个文件的容量大小,默认单位为B
[6]:表示这个文件的创建文件日期或者最近的修改日期
[7]:表示文件名
4、改变文件属性和权限
[1]chgrp:change group,改变文件用户组
[2]chown:change owner,改变所文件所有者
[3]chmod:change mode 改变文件的权限
[1]用法:
chgrp [-R] filename/dirname
举例:chgrp yang test.txt
注意:改变用户组的前提有这个用户组
[2]用法:
chown [-R] filename/dirname
[3]用法:
chmod 这个用法比较有意思,有两种方法可以改变文件的权限
第一种:数字类型改变文件权限,格式:chmod [-R] xyz filename/dirname
可以按照二进制来记忆,rwx分别是421,然后累加起来就行了。举个栗子,一个文件为rwx,用数字表示权限就是7,那么rw-就是6,r-x就是5啦,—就是个零蛋,啥权限木有。
举例:chmod 777 text.txt
第二种:符号类型改变文件权限
都知道linux有三种身份,user,group,others。权限也就是对他们来说的。
先举个栗子:
chmod u = rwx,go = rx text.txt
u就是user,go就是group,这样就明显了,就是给一个text.txt的文件给拥有者rwx的权限,用户组rx。
注意:rx是没有空格的,要给直接就给了。
但是,如果不知道原先的文件属性,想给text.txt这个文件执行的权限呢,就可以用(+-=)来设置。
举个栗子:chmod a+x text.txt
5、关于目录,文件的操作
前面为格式,后面为解释
mkdir dirname:make directory 创建目录,一般要有权限
touch filename :创建文件,创建完没有权限的,可以用chmod赋权限
cat filename : 查看文件内容
vi filename:编辑文件,也可以用gedit文件编辑器编辑。说下简单的流程,vi text.txt ->i(启用编辑) -> esc(编辑结束后,按esc键结束编辑) ->:wq(注意有一个冒号!wq保存并退出)
rm filename:删除一个或多个文件,不能删除目录
rm -rf 非空文件夹 :删除文件夹,也可以删除目录
rmdir dirname :删除文件夹
cp 源文件 目标文件:复制文件
mv:移动文件与目录,或者更名(理解起来其实就是移动,移动到同一个文件夹就更名了 mv text.txt text1.txt)
6、编写shell文件
shell文件其实和window里面的.bat一样,都是命令集
每学一个新东西都要写一个helloworld。那么来了,
第一行:表示这个script使用的shell名称
第二三行,都是对文件的说明,比较简陋,不标准。
第四五行:path,是主要的环境变量声明,用#注释,表示不是必要的。
echo :输出
执行文件:sh filename
现在介绍一些简单的指令:
read -p:提示用户输入
$:引用变量值
test:测试命令
扩展test命令,用例子来扩展:
test -e filename :文件名是否存在
test -f filename:文件名是否存在且为文件(file)
test -d filename:文件名是否存在且为目录(directory)
test -r filename:文件是否有读的权限,后面依此类推
[]:判断符号,贴图
if…then:条件判断式
fi是结束if的意思,第一次看到这不知为啥笑了。类似的还有case结束是esac。
case…esac判断:
while do done 循环:
for do done 循环:
function功能:
7、写到这里,还有很多的功能没有详细介绍,后面学的时候也尽量记下来。现在说三个题目
(1)获取系统时间并输出到文件中
在linux中,获取命令写到文件中可以用>这个符号,这个符号是表示覆盖,不再追加内容。 如果要追加内容,就用>>。关于这个,文章后面会给出一个更全的文章链接。
(2)删除以l开头,以l结束的文件和文件夹
(3)在linux中写c++,来控制系统重启,关机
#include<iostream>using namespace std;void setShutdown(int time);void shutdown();void shutdown1();void setShutdown1(int time);int main(){ int n=0; int time=0; //shutdown(); //setShutdown(n); //setShutdown(n); cout << "你想让计算机做些什么?\n" << "0:立即关机\n" << "1:立即重启\n" << "2:定时关机[分钟]\n" << "3:立即重启[分钟]\n" << "4:取消并退出" << endl; cin >> n; switch(n){ case 0: cout << "正在关机..." << endl; shutdown1(); break; case 1: cout << "正在重启..." << endl; shutdown(); break; case 2: cout << "请设定一个时间关机:" <<endl; cin >> time; setShutdown1(time); cout << "将在..." << time << "分钟后关机..." << endl; break; case 3: cout << "请设定一个时间重启:" <<endl; cin >> time; setShutdown(time); cout << "将在..." << time << "分钟后重启..."<< endl; break; case 4: cout << "已取消!" << endl; system("shutdown -c"); break; } return 0;}/*straght reboot重启*/void shutdown(){ system("shutdown -r now");}/*set time reboot*/void setShutdown(int time){ system("shutdown -r $time");//reference this time}/*shutdown this computer关机*/void shutdown1(){ system("shutdown -h now");}/*set time reboot*/void setShutdown1(int time){ system("shutdown -h $time");//reference this time}
步骤:先创建一个.cpp文件,写完后,编译g++ text.cpp -o test,执行./test
参考文章:
LINUX一切皆文件
linux将输出放在文件中
Linux系统下运行c++程序
- linux学习之基本命令
- linux 学习之60个基本命令
- linux 学习之60个基本命令
- linux 学习之60个基本命令
- Linux学习笔记之基本命令一
- linux学习总结之基本命令
- linux学习笔记之基本命令
- Linux学习之命令基本格式及文件处理命令
- linux基本命令学习
- Linux基本命令学习
- Linux 基本命令学习
- Linux 基本命令学习
- 基本Linux命令学习
- Linux操作系统学习笔记之linux基本命令
- LINUX 学习之基础一 基本命令学习
- Linux学习,linux基本命令
- LINUX学习-之-基本命令列表
- Linux学习之——Bash及基本命令
- c++的意义
- 2017年IDC行业市场现状及趋势
- Android面试
- Codeforces Round #439 (Div. 2) C. The Intriguing Obsession dp
- 解决Android studio开发找不到HttpClient问题
- linux学习之基本命令
- 关于如何写好简历的指北
- BZOJ 3569: DZY Loves Chinese II
- 一 Javaweb 项目中常见的思想、思路从哪去、原则 反思回顾:
- vue项目的搭建
- 超时代码 01 matrix
- 一起来学SQL(二)
- 第四周项目 ONE---建立单链表
- HBuilder快捷键