Linux的使用(命令)-30个命令
1、Linux和Windows定位:(开发人员和普通用户)(命令和鼠标?)
2、Linux命令:用户管理、文件操作、进程管理、网络管理、设备管理、系统管理
向日葵/SSH(xshell
用户管理:su.sudo.adduser.psswd usermod
ls 查看当前文件夹
以“。”开头为隐藏文件
一点哲学:一切皆为文件
文件分类:普通文件、目录文件、设备文件、链接文件
普通文件 -
目录文件 d
设备文件 c/b c 字符设备 b块设备
链接文件 l
管道文件 p
共享文件 s
堆栈文件 f
用户组:批量管理用户
chmod u+x install.log
man chmod
chomd g+w
chmod a-r 关闭权限
chmod 777 install.log
可读 r:4
可写 w:2
?x:1
touch hello.txt 创建文件
gedit hello.c 编辑
cat hello.c 查看文件
gcc hello.c 编译
./a.out 中间没有空格
rm hello.c 删除
rm-f 强制删除
gcc demo.c 查看错误
cd .. 返回目录
mkdir 0912 创建一个目录0912
tree
cd..
cd..
cd kk
tree
展示剩余目录里的
mkdir-p kk/mm/nn/0912 按照方式创建
删除目录 rm-r 0912
rm-rf 强制删除
rmdir 删除目录
根目录 所有文件保存的地方
bin :存放命令(普通用户)系统中可执行文件
bin 为shell 默认的解析文件
cp a.out /bin 保存到根目录
. 当前目录
./ a.out 当前目录中的a.out
shell 命令解析器 command not found
/bin/ls bin目录中的ls
sbin:命令(root)
dev:设备文件
etc 系统中的所有配置文件
lib:系统运行时所需要的库文件
usr:(默认)程序安装的路径
home:普通用户的工作目录 cd /home/
root:超级用户的工作目录
进入root :cd /root/
cd .. 返回根目录
cd jsetc/进入普通用户
su - jsetc 切换普通用户
绝对路径 相对路径
cd 0912 绝对
cd/root/0912 相对
区别 绝对路径: 唯一确定一个文件
pwd 查看文件在那一个位置
cp dome.c kk 把前拷贝到后
cp-r kk 0905 目录拷贝
mv domo.c 0905 剪切 无domo文件
mv dome.c hello.c 重命名
tar cvzf 文件名(0913.tar.gz 0913)压缩文件
解压 tar xvzf (文件名)
tar xvzf 0913.tar.gz -C kk
指定解压路径到kk
struct proc_dir_entry *proc_mkdir( const char *name , struct proc_dir_entry *parent );
函数功能:创建一个目录
参数 :const char *name 要创建的目录名
struct proc_dir_entry *parent 父目录的结构体指针,如果为空,就在/proc目录下创建一个目录
返回值:失败返回NULL
cmdline — 启动当前进程的完整命令,但僵尸进程目录中的此文件不包含任何信息
cwd — 指向当前进程运行目录的一个符号链接
environ — 当前进程的环境变量列表,彼此间用空字符(NULL)隔开;变量用大写字母表示,其值用小写字母表示
exe — 指向启动当前进程的可执行文件(完整路径)的符号链接,通过/proc/N/exe可以启动当前进程的一个拷贝
fd — 这是个目录,包含当前进程打开的每一个文件的文件描述符(file descriptor),这些文件描述符是指向实际文件的一个符号链接
maps — 当前进程关联到的每个可执行文件和库文件在内存中的映射区域及其访问权限所组成的列表
mem — 当前进程所占用的内存空间,由open、read和lseek等系统调用使用,不能被用户读取
root — 指向当前进程运行根目录的符号链接;在Unix和Linux系统上,通常采用chroot命令使每个进程运行于独立的根目录;
limits — 当前进程所使用的每一个受限资源的软限制、硬限制和管理单元;此文件仅可由实际启动当前进程的UID用户读取
stat — 当前进程的状态信息,包含一系统格式化后的数据列,可读性差,通常由ps命令使用
status — 与stat所提供信息类似,但可读性较好
statm — 当前进程占用内存的状态信息,通常以“页面”(page)表示
task — 目录文件,包含由当前进程所运行的每一个线程的相关信息,每个线程的相关信息文件均保存在一个由线程号(tid)命名的目录中,
这类似于其内容类似于每个进程目录中的内容
sys
/sys/devices — 该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备。一般来说,所有的物理设备都按其在总线上的拓扑结构
来显示,但有两个例外即platform devices和system devices。
platform devices一般是挂在芯片内部的高速或者低速总线上的各种控制器和外设,它们能被CPU直接寻址;
system devices不是外设,而是芯片内部的核心结构,比如CPU,timer等,它们一般没有相关的驱动,
但是会有一些体系结构相关的代码来配置它们。
/sys/devices是内核对系统中所有设备的分层次表达模型,也是/sys文件系统管理设备的最重要的目录结构。
(为什么?因为其他目录基本是分类组织链接文件,实际指向该目录内容)。
/sys/dev — 该目录下存放主次设备号文件,其中分成字符设备、块设备的主次设备号码(major:minor)组成的文件名,
该文件是链接文件并且链接到其真实的设备(/sys/devices)
/sys/class — 该目录下包含所有注册在kernel里面的设备类型,这是按照设备功能分类的设备模型,每个设备类型表达具有一种功能的设备。
每个设备类型子目录下都是这种设备类型的各种具体设备的符号链接,这些链接指向/sys/devices/下的具体设备。
/sys/block — 该目录下的所有子目录代表着系统中当前被发现的所有块设备
/sys/bus — bus子目录下的每种具体总线之下可以找到每个具体设备的符号链接,一般来说每个子目录(总线类型)下包含两个子目录,
一个是 devices,另一个是drivers;其中devices下是这个总线类型下的所有设备,这些设备都是符号链接,
它们分别指向真正的设备(/sys/devices/下);而drivers下是所有注册在这个总线上的驱动,每个driver子目录下
是一些可以观察和修改的driver参数。
/sys/fs — 该目录使用来描述系统中所有的文件系统,包括文件系统本身和按照文件系统分类存放的已挂载点
/sys/kernel — 存放的是内核中所有可调整的参数
/sys/firmware — 系统加载固件机制的对用户空间的接口
/sys/module — 该目录下有系统中所有的模块信息,不论这些模块是以内联(inlined)方式编译到内核映像文件中还是编译为外模块(.ko文件),
都可能出现在/sys/module中。即module目录下包含了所有的被载入kernel的模块
/sys/power — 该目录是系统中的电源选项,对正在使用的power子系统的描述。
这个目录下有几个属性文件可以用于控制整个机器的电源状态,如可以向其中写入控制命令让机器关机/重启等等。
boot
一、/boot/目录中的文件和目录
1、 系统Kernel的配置文件;
2、启动管理程序GRUB的目录,里面存放的都是GRUB在启动时所需要的画面、配置及各阶段(stage1, stage1.5, stage 2)的文件
二、/boot/grub目录
1、 grub.conf文件 — 启动管理程序GRUB的配置文件
2、其他文件
stage文件 — stage1它是硬件引导扇区(MBR)的备份文件
stage2:该文件是GRUB的核心程序,它的主要功能是:
提供菜单
读取配置文件
连接下一个boot sector
device.map — 该文件直接侦测目前的硬件来假设BIOS所记录的实体磁盘有哪些,
默认值是安装系统时就记录好的。在之后加入的磁盘,在该文件中没有显示
splash.xpm.gz — 启动时的背景图片
三、System.map文件 — System.map文件是一个索引文件,它记录了kernel中的symbols的位置,symbols包括有变量或函数名称。
四、 kernel及initrd
1、kernel文件 — kernel主要负责的是北桥、南桥、CPU及内存,可见它们都是整个主机最重要的硬件核心部分,
kernel如果处了问题,系统肯定无法启动起来
2、initrd文件 — initrd的全名是initial ram disk,就是启动系统所需加载的虚拟磁盘
在系统启动过程中,kernel、initrd和system module是依次加载的。initrd包含一部分内核模块,主要是一些关键的外部硬件,如SATA、SCSI和USB等外设。
它如果失败当然也会影响系统启动。
而system module这些系统中的模块,是与支持和启动无很大关系的硬件有关,如果没有这些硬件设备的支持,系统也可以启动完成,
只是存在功能上的缺失,如声卡、网卡、显卡等。这些系统模块也可以在启动后,以modprobe的方式载入模块使用。
mnt
Mount命令
1、挂载点必须是一个目录。
2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。对于其他操作系统建立的文件系统的挂载也是这样。
3、光盘、软盘、其他操作系统使用的文件系统的格式与linux使用的文件系统格式是不一样的。
光盘是ISO9660;软盘是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;
windows2000和windowsXP是fat16、fat32、 NTFS。挂载前要了解linux是否支持所要挂载的文件系统格式。
挂载时使用mount命令:格式:mount [-参数] [设备名称]