一、常用命令补充
-
gedit文本编辑工具
$ gedit hello.c
-
ln建立链接文件
建立链接文件相当于windows上创建一个快捷方式。软链接:不占用磁盘空间的,源文件删除则软连接失效【-s】 硬链接:可以占用磁盘空间,源文件删除对硬链接没有影响 $ ln -s hello.txt hello $ ls lrwxrwxrwx 1 libin libin 5 6月 27 15:21 hello -> hello.txt $ cat hello // 和cat hello.txt 一样 $ ln hello.txt hello
对于软连接而言,如果软连接和源文件不在同一个目录下,则原文件使用绝对路径,不能使用相对路径
对于硬链接而言,两个文件占用相同大小的磁盘空间,如果源文件被删除,硬链接不受任何影响,正常使用 -
ls文件查看
例如: $ ls -l // 查看文件信息 简写: $ ll
-
rm删除操作
语法: $ rm -rfi // -r追层删除 -f强制删除 -i用户交互删除,询问是否删除
-
chmod权限添加
u(user): 当前用户 a(all): 所有用户 g(group):同组用户 o(other): 其他用户 例如: $ chmod g+w hello.c // 给文件中同组用户添加一个可读权限 $ chmod go+w file2.txt $ chmod ugo+w file2.txt
-
ssh通道
SSH 为 Secure Shel的缩写,SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。语法: ssh 用户名@IP地址 例如: $ ssh zhangsan@192.168.1.133 备注: 连接服务器可以借助xShell、putty等工具,也可以通过ssh方式。
-
date查看系统时间
$ date // 查看系统时间 $ date -s "2018-01-01 00:00:00" // 修改系统时间
-
cal显示一个日历
$ cal
-
查看系统信息
$ cat /etc/issue // 查看系统版本 $ file /sbin/init // 查看系统位数
-
history查看历史命令
$ history // 终端输入的历史命令,最近1000条记录 $ history 5 // 显示最后5条记录
-
tree以树形结构去显示目录结构
$ tree -d // 只显示文件夹 $ tree -f // 显示文件的完整路径 $ tree -L 2 // 只看前两级的内容
需要安装tree: sudo apt-get install tree
-
ps查看进程
语法: ps -ef 例如: $ ps -ef $ ps -ef | grep mysql // 查看MySQL进程是否起来 备注: UID // 用户名 PID // 进程的ID PPID // 父进程ID C // 进程占用CPU的百分比 STIME // 进程启动到现在的时间 TTY // 该进程在那个终端上运行,若与终端无关,则显示? CMD //命令的名称和参数
-
pkill进程管理
语法: pkill 服务名 kill 进程号 kill -9 进程号 // 强制杀死进程 例如: $ pkill 服务名 // 杀死对应服务名的所有进程
-
df磁盘空间
$ df // 磁盘空间大小 $ df -hl // 磁盘空间大小
-
free内存占用
$ free
-
who用户登录信息
$ who
-
which查找其他命令所在的位置
$ which python $ which ls
-
whereis用于程序名的搜索
$ whereis python
-
type寻找命令所在的位置,包括命令别名
$ type python
-
查看网络状态信息
$ netstat -anp $ netstat -anp | grep 3333 // 查看端口被哪个服务占用
-
系统相关
$ reboot // 重启系统 $ shutdown // 关闭系统 $ init 0 // 关机 $ init 6 // 重启
-
zip打包解包
打包语法: zip -r xxx.zip 文件1 文件2... 例如: $ zip -r source.zip a.txt b.txt // 将多个文件打包 $ zip -r source.zip . // 将当前路径下文件打包 $ zip -r source.zip Test/ // 将Test目录打包 解包语法: unzip xxx.zip unzip 包名 -d 目录 // 解压zip包到指定目录 例如: unzip source.zip unzip source.zip -d aaa/
-
gzip压缩解压
压缩语法: gzip 需要打包的文件 // 把文件进行压缩,原来的文件则没有了,解 压缩也一样 例如: $ gzip test.txt // test.txt.gz $ gzip test.zip // test.zip.gz $ gzip 解压语法: gunzip xxx.gz 例如: $ gunzip 01-test.c.gz 备注: 只能压缩文件,不能压缩目录
-
tar压缩解压
打包语法: tar -cvf xxx.tar 文件1 文件2... 例如: $ tar -cvf source.tar a.txt b.txt 解包语法: tar -xvf 包名 tar -xvf 包名 -C 目录 // 指定目录 例如: $ tar -xvf source.tar 打包并压缩语法: tar -zcvf xxx.tar.gz 文件1 文件2... // 打包并压缩 例如: $ tar -zcvf source.tar.gz a.txt b.txt 解压语法: tar -zxvf xxx.tar.gz tar -zxvf 包名 -C 目录 // 指定目录 例如: tar -zxvf source.tar.gz 备注打包: -c 产生.tar打包文件,在使用tar打包目录的时候,-c是必要的选项,表示create创建一个打包文件 -v 显示详细信息,可选项,是在命令执行的时候,显示命令执行的过程 -f 指定压缩后的文件名,必选项,该选项必须放在所有选项的后面,后面跟住新的文件名 -z 打包同时压缩 备注解包: -x 解包.tar文件 -v 显示详细信息 -f 指定解压文件 -z 解压缩
-
创建用户
语法: useradd 用户名 // 默认是不会创建对应用户目录 -m 强制建立用户主文件夹,并将/etc/skel/当中的文件复制到用户的根目录下 -s 用户登录所使用的shell 例如: $ useradd zhangsan // 需要手动设置密码 passwd zhangsan $ useradd -m lisi // 默认无密码 $ useradd -m -s /bin/bash wangwu // 默认用户的密码 建议使用adduser命令: $ sudo adduser
/etc/skel是配置文件, bash是GNU操作系统的shell,或命令语言解释器
按下ctrl+ d 注销用户【exit命令】!
查看用户 cat /etc/passwd -
删除用户
语法: userdel 用户名 // 默认只是删除普通用户,不会自动删除用户所在的主目录,需要手动 rm -rf xxx -r 删除普通用户,同时自动删除用户所在的主目录 例如: $ userdel zhangsan $ userdel -r lisi 备注: 如果提示`userdel: user zhangsan is currently logged in`,就强制删除`userdel -r -f zhangsan`
-
修改用户密码
语法: passwd 用户名 例如: $ passwd zhangsan // 输入两次密码
-
查看所属
语法: groups 用户名 例如: $groups zhangsan
-
创建用户组
语法: groupadd 组名 例如: $ groupadd cxy
查看组 cat /etc/group
-
删除用户组
语法: groupdel 组名 例如: $ groupdel cxy
-
添加到组
语法: gpasswd -a 用户名 组名 例如: $ gpasswd -a zhangsan cxy
-
从组中删除
语法: gpasswd -d 用户名 组名 例如: $ gpasswd -d zhangsan cxy
-
修改文件所属者所属组
语法: chown -R 用户名:组名 文件名 例如: chown -R libin:love yhy/
cat /etc/group文件包含所有组
cat /etc/shadow和cat /etc/passwd系统存在的所有用户名 -
文件传输
语法: scp 用户名@远程服务器的IP:/文件路径 想要存放的路径
Windows与Linux中,文件传输可以使用xftp;
Linux与Linux之间,可以使用scp;
其他方式: GitHub;
二、Linux其他
- 磁盘分区
在Windows操作系统中,是先将物理地址分开,再在分区上建立目录.在Windows操作系统中,所有路径都是从盘符开始,如C://program file。
Linux正好相反,是先有目录,再将物理地址映射到目录中。在Linux操作系统中,所有路径都是从根目录开始。Linux默认可分为3个分区,分别是boot分区、swap分区和根分区。
无论是Windows操作系统,还是Linux操作系统,每个分区均可以有不同的文件系统,如FAT32、NTFS、Yaffs2等。
boot分区: 该分区对应于/boot目录,存放Linux的bootloader和内核源码,用户对/boot目录的操作就是操作该分区;
swap分区: Linux下的虚拟内存.虚拟内存用于当系统内存空间不足时,先将临时数据存放在swap分区,等待一段时间后,然后再将数据调入到内存中执行.所以说,虚拟内存只是暂时存放数据,在该空间内并没有执行(大小为物理内存的2倍);
根分区: 在Linux操作系统中,除/boot目录外的其它所有目录都对应于该分区.因此,用户可通过访问除/boot目录外的其它所有目录来访问该分区;
备注: 在创建Linux分区时,一定要创建SWAP/根分区!
- 文件系统
文件系统,即在存储设备上组织文件的方法;
Windows: FAT16、FAT32、NTFS
Linux: EXT2、EXT3、VFAT