之前一直听别人说编程都喜欢用Linux。我买阿里云服务器的时候,朋友也推荐装Linux系统而不是Windows。这个困扰我多年的疑惑,最终终于在这里解开。
由于之前有过敲cmd玩的经验,所以说Linux的命令行对我来说并不陌生。但是命令就很陌生了,,毕竟都没用过,,,
通过这几周的学习,我不仅学会了Linux的基本操作,还学会了配置gcc编译环境,安装软件,用gdb调试工具调试程序等。
随后,在朋友的推荐下,我在手机上玩起来了Termux,一个把手机当成Linux用的东西。由于可以随身携带,我感觉很方便。现在我可以直接在那里面写C语言程序,跑py程序了。毕竟移动端还是便于移动,非常方便。
Linux入门,我是跟着这个课程学习的:https://www.imooc.com/learn/175
这个课程也是,只有视频教程,需要自己在自己电脑上动手实践。
我学习的时候使用的是VMware 15.0和CentOS 7的GUI版本。毕竟带有GUI,上手更容易一些。
远程连接工具和文件传输工具,我选择的是XShell6和Xftp6。
普通用户$ 超级用户#
权限类型
-rw-r--r--.
文件类型 所有者 所属组 其他人 ACL权限 r读 w写 x执行
Linux常用命令:
一、基本命令。
mkdir【创建目录】 目录 -p 套娃创建
cd【切换目录】 目录 不加参数默认切换到当前用户的家目录。~家目录 - 上次目录 .. 上级目录
touch 【新建空文件】文件名
vim【文本文档编辑器】 文件名 文件不存在,保存时将自动创建。
su【切换用户】 用户名 然后回车输入密码
logout【断开连接或登出】
pwd【显示当前路径】
cat【预览显示文档内容】 文件名
ls【显示当前目录下的文件/文件夹】 -a显示隐藏文件 -l 显示详细信息 -h 人性化显示大小 -i显示文件id号
mv【移动文件】 原文件命 新文件名 用于改名或者移动文件
rmdir【删除空白目录】
rm【删除文件】 -r 删除目录 -f 强制执行(没有确认删除的提示)
二、文件处理命令
ln【创建链接】 -s 创建软链接(注意:软链接一定要使用绝对路径!)
硬链接不能跨分区,不能是目录。硬链接有相同的id号。
三、文件搜索命令
1.locate 速度快,根据数据库搜索,只能搜索文件名 updatedb 更新数据库,防止搜索不到新文件。
2.find 一个一个找,耗费资源。但是是最强大的搜索。 find [范围] [条件]
模糊查询需要使用通配符 *任意内容 ?任一个字符 [括号内的任一字符]
-iname 不区分大小写 -user 按所有者搜索,加上用户名 -mtime +10 十天前修改内容的文件 -ctime 10 10天当天修改文件属性的文件 -atime -10 10天内访问的文件。
-size 25k/-25k/+25k 或用M做单位。注意:k要小写,M要大写。 默认单位是单位数据块(扇区)
-inum 用i节点号查询 -a 左右两条件都满足 -o 左右符合一个就行
3.whereis 只搜索系统命令。 -b 只看可执行文档 -m 只看帮助文档
4.which 搜索命令及别名 只能看位置
¥PATH 环境变量 定义系统搜索命令的路径 echo $PATH
5.grep命令 搜索字符串(在文件中) -v 取反 "关键字" 文件名 -i 忽略大小写
四、帮助命令
man 命令名称 whatis=man -f 列出后面命令的所有级别 man 级别号 命令
apropos=man -k 所有包含关键字的
选项帮助 ls --help help shell 获取内部命令
info 回车进入,-u上层 -n 下一小节 -p 上一小节 -q 退出
五、压缩命令
常见压缩格式:*.zip *.gz *.bz2 *tar.gz *.tar.bz2
ZIP:
zip 压缩文件名 文件名 【压缩文件】
zip -r 压缩文件名 目录 【压缩目录】
unzip 【解压缩】
GZ:
gzip 原文件 原文件会消失!!
gzip -c 原文件 > 压缩文件.gz 原文件不会消失
gzip -r 压缩目录 (目录下的子文件)
gzip -d 解压缩
BZ2 不能压缩目录
bzip2 原文件 默认不保留原文件,-k保留
bunzip2或bzip2 -d 解压缩 -k保留压缩文件
TAR打包命令
tar -cvf 打包文件名 (一个或多个原文件或目录)
-c 打包 -v 显示过程 -f 指定打包文件名
然后再用gz或者bz2压缩
tar -xvf 打包文件名 【解包命令】
-x 解打包 -t 查看
加上-z,即打包并压缩gz,解压并解包gz
加上-j,即打包并压缩bz2,解压并解包bz2
后加 -c 指定解压缩位置。
六、关机和重启
1.shutdown [选项] 时间 会正确保存在使用的东西 -c 取消上一个关机命令 -h 关机 -r 重启
2.halt poweroff init 0 不安全的关机
3.reboot init 6 重启
init 3 字符界面 init 5 图形界面 runlevel 显示当前级别
七、挂载
1.挂载命令 mount 查看 -a自动挂载(根据/etc/fstab的内容)
2.挂载命令格式 mount -t 文件系统 -o 特殊选择 设备文件名 挂载点
文件系统不支持NTFS,可用vfat(即fat32)、ext3、ext4、iso9600(光盘文件系统)
脚本开头#!/bin/bash
3.挂载光盘 mkdir /mnt/cdrom mount (-t iso9600可省略) /dev/sr0 /mnt/cdrom
4.卸载 unmount 设备文件名或挂载点 需先退出目录。用完必须卸!!!
5.挂载U盘 fdisk -l 查看已识别的硬盘
用户登录查看 w用户登录信息 last 查询过去登录信息 lastlog查看所有用户
VIM的使用
vim 文件名 + 定位到最后一行 +3 定位到第三行 +/文本 打开文件时 光标在第一次出现该文本的地方。按n切换
命令模式 i 进入输入模式 两次d 删除该行 两次y 复制一行 p 在光标下一行粘贴 P在光标上一行粘贴
输入模式
底行模式
:wq保存并退出 :q!强制退出 :n切换打开的下一个文件 :N 切换打开的上一个文件 或prev
:w 保存 :q退出 :!强制执行
:ls 列出打开的所有文件
:数字 快速定位到几行
/xxx 从光标向后搜索xxx ?xxx 从光标向前搜索xxx h光标左 j下 k上 l右
ctrl + f上 b下 d下半 u上半 翻页
:set nu 显示行号
GCC编译器
gcc 原文件 -o 输出文件.out 编译
gcc -g 原文件 -o 输出文件.out 可以用gdb调试的编译
GDB调试工具
gdb ./main.out 进入调试
l 或list 列出源代码 break+行数 打断点 start 开始 q 退出 p输出,后加变量名 n下一行 s 进入函数
bt 查看函数堆栈 f 数字 切换栈
跳进的坑:
1.第一次安装的时候听见老师说安装GUI界面会大大降低安全性和稳定性,就选择了最小安装,结果啥也不会。
2.Linux中默认编码和中文Win环境的编码是不同的,同样的程序在两个系统运行结果可能不同。同一个源码或txt也可能会乱码。
本文地址:https://blog.jixiaob.cn/?post=23
版权声明:若无注明,本文皆为“赵苦瓜のBlog~”原创,转载请保留文章出处。