Linux
2019-04-28 05:04:22 0 举报
AI智能生成
Linux基本操作
作者其他创作
大纲/内容
命令解释器
Unix 里叫做Shell
Linux 里叫做Bash
Linux 里叫做Bash
Linux 下的快捷键
Ctrl + p (prev) 上一条历史命令
Ctrl + n (next)下一条历史命令
Ctrl +l 清屏
光标移动
光标到航头 Ctrl + a
光标到行尾 Ctrl + e
光标前移 Ctrl + b
光标后移 Ctrl + f
删除光标前面所有内容 Ctrl + u
删除光标后面所有内容 Ctrl + k
删除光标前面的字符 Ctrl + h
删除光标后面的字符 Ctrl + d
tab 键
当 cd 目录的过程中 两次tab键 提示目录下文件
Linux 下的常用命令
touch 文件不存在则创建,文件存在则修改文件修改日期
mkdir -p 递归创建目录
rm -r 递归删除
cp -r 递归拷贝
cat 显示文件全部内容
more 显示部分内容 , 回车是翻一行,空格是翻一页,q是退出 ,或者ctrl + c 退出
less 也是显示部分内容, 但是支持前后翻页
head 是显示文件前面几行内容,tail 是显示文件后面几行内容
链接技术
软链接 :ln -s 目标文件 结果文件 【 建议使用绝对路径 】
硬链接 :ln 目标文件 结果文件 【 硬链接关联的是i节点 ,且只有文件才能创建硬链接,目录不行】
查看使用空间的几个命令
du -h 目录树所占用空间大小
df -h 磁盘空间使用情况
wc 文件行数 字数 字节数
od 查看二进制文件
witch
witch 查看外建命令的执行目录
文件权限操作
文件所属的组不一定是文件所有者所在的组
修改文件所有者 :chown 用户名 文件
修改文件所有组: chown 用户名:组 文件名
只修改文件所属组:chgrp 组 文件
对于目录而言 ,必须要有执行权限,不然不能进入目录
文件的查找
按照文件属性查找
文件名查找 : find 路径 -name 文件名 【文件名最好加双引号,如果要用通配符 最好加上双引号】
文件类型查找:find 路径 -type f/p/s/c
文件大小查找: find 路径 -size +10k【大于用+ 小于用-,k用小写 M用大写,查找范围 用两个size】
按照文件内容查找
递归查找文件内容:grep -r "文件内容" 路径
软件的安装
在线安装
wubangtu
apt-get
sudo apt-get install 软件名
sudo apt-get remove 软件名
更新软件列表 :sudo apt-get update
清理所有软件安装包:sudo apt-get clean 【实际清理的是 /var/cache/apt/archives 目录下的 .deb 文件】
其他下载工具 eg: aptitude
CentOS
deb包安装
安装:sudo dpkg -i xxx.deb
删除:sudo dpkg -r xxx
源码安装
解压
配置 ./configure 生成makefile
编译 生成可执行程序 make
make install
make disclean
压缩包管理
压缩: gzip 和 bzip2
打包:gzip * txt 分别打包并删除了源文件 生成 *.txt.gz
还原:gzunzip
gzip bzip2 命令一样,两者都不能压缩目录, 但是 bzip2 可以保留源文件 :bzip -k 文件
打包 tar
参数
c 创建
x 释放
v 显示过程
f 指定文件名
z 使用 gzip 方式压缩
不使用 z/j 命令 只能打包 不能压缩
j 使用 bzip2 方式压缩
rar 压缩
参数
a 压缩
rar a 生成的文件名【不用写文件后缀】 需要打包的文件
x 解压
rar x 生成的文件名【不用写文件后缀】 需要打包的文件
zip
zip 压缩的文字 被压缩文件
unzip 解压的文件 -d 指定的文件夹
常用流程
打包 tar -zcvf 【生成的文件名.tar.gz】 【要打包的文件】
语法特点
压缩:tar/rar/zip 参数 生成的文件名 压缩的文件或者目录
解压:tar/rar/unzip 压缩包的名字 参数 解压缩目录
压缩:tar/rar/zip 参数 生成的文件名 压缩的文件或者目录
解压:tar/rar/unzip 压缩包的名字 参数 解压缩目录
进程管理
who命令 查看当前登陆的用户信息
查看进程
ps aux (a:所有 ;u:用户看得懂 ;x:过滤掉终端进程)
杀死进程
kill -l 查看信号
杀死单个进程 kill -9(sigkill) 进程号
杀死单个进程 kill -9(sigkill) 进程号
环境变量 evn : 环境变量格式 key=value1:value2
网络命令
ping 地址 -c 显示多少条 -i 多少秒给反馈
ifconfig 查看IP
用户管理
添加用户
adduser 其实是一个脚本比较智能
useradd -s /bin/bash (指定shell ) -g 所属的组 -d 指定用户目录 -m 没有则创建目录
查看用户 :vi /etc/passwd
删除用户
deluser
userdel -r 用户主目录
组操作
groupadd 添加组
FTP服务器搭建
vsftpd
配置文件 /etc/vsftpd.conf
nfs 服务器 (共享文件夹)
ssh 服务器
scp -r 目标 本地 ; 实现超级拷贝,前提是安装了 ssh
aliases 设置或者查看命令是否被封装
eg : alias pag='ps aux |grep '
想要长久有效 去设置 .bashrc
echo 可以打印环境变量 eg:echo $PATH ; $符号相当是在变量中取值
开关机
poweroff
reboot
shutdown
磁盘管理
系统默认挂载 : /media
手动挂载目录: /mnt
Linux 编程
GCC 的一些操作
静态库的制作
命名规则(lib + 库名 .a)
制作步骤
生成.o 文件 参数 -c
生成的 .o 文件打包成 .a 文件 : ar rcs + 静态库名字 .a + 生成的所有的.o
nm 查看可执行文件或者 .a
发布和使用静态库
发布静态库
头文件
动态库的制作
制作步骤
生成位子无关的二进制文件
gcc -fPIC -c *.c -I ../include
打包成 so
gcc -shared -o libMyCale.so *.o -I ../include
解决程序执行时动态库无法被加载的问题
放到系统的库目录中
零时测试 export LD_LIBRARY_PATH=/XXX.so
放到 .bashrc 中 重启终端 永久生效
修改动态连接器的配置文件 /etc/ld.so.conf
动态库的路径写到配置文件
更新 ldconfig -v
查看动态库执行时的库 ldd xx.so
0 条评论
下一页