Linux基本命令
在线速查手册
1、命令速查
whereis 命令 #寻找可执行程序的位置
man 命令 #查看“命令”的使用手册
命令 --help
info 命令
2、文件颜色含义
3、文本命令
cat #连接文件并打印到标准输出设备上
gedit #以编辑器模式打开一个文件
echo #用于在shell中打印shell变量的值,或者直接输出指定的字符串
grep #强大的文本搜索工具,正则表达式
----------
head # 用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
tail #ail命令默认在屏幕上显示指定文件的末尾10行
cut #用来显示行中的指定部分,删除文件中指定字段
sort #将文件进行排序,并将排序结果标准输出
uniq #用于报告或忽略文件中的重复行,一般与sort命令结合使用
4、管道与重定向
5、软件的安装
红帽系的yum
5.1 安装包安装
安装包类型
dpkg -i #安装软件包
dpkg -r #卸载
dpkg -P #卸载并移除配置
dpkg -L #罗列安装包信息
dpkg-deb -c #罗列安装包信息
dpkg --info #查看安装包详细信息
5.2 apt包管理器安装
sudo apt update #更新软件源(到本地源)
sudo apt upgrade #将本地类库升级到最新版本(很慢)
sudo apt install vim #安装vim,自动下载和安装依赖
sudo apt install -f #修复依赖包关系
sudo apt remove --purge vim #完全卸载vim
sudo apt search ncurse # 搜索ncurse相关的包
支持类库筛选时的经验:libxxx-dev
阅读包说明
----------
apt-cache show vim #显示包信息
apt-cache policy vim #显示包安装状态
apt-cache depends vim #查看包的依赖信息
apt-cache search vim #查询类似软件源
相关文件存放位置
- /etc/apt/souce.list #软件源管理文档
- /var/lib/apt/lists/* #本地包索引
- /var/cache/apt/archives/* #本地包缓存
- ... #参见man apt-get
5.3 源码编译安装
sudo apt update // 更新软件源
sudo apt install python-pip //安装pip
./configure 源码包中执行配置
make clean 清除一些编译的垃圾
make 执行编译
make install 安装
make uninstall 卸载
5.4 更新软件源
参考网址:https://blog.csdn.net/qq_37193603/article/details/72900797
5.5 常用工具的安装
搜狗拼音
下载deb,sudo dpkg -i xxx.deb
修复依赖关系:sudo apt-get install -f
再次安装:sudo dpkg -i xxx.deb
在SystemSetting中将默认输入法切换为fcitx
重启
点击桌面右上角键盘图标,添加输入法(取消勾选只看当前输入法),
搜索并添加sogoupinyin
将搜狗拼音位置上调到顶部
6、文件管理
文件操作
cd - 回上次目录
- 回根目录:cd ~ 或 cd
- ----------
ls -l 查看详细信息
ls -a 查看所有文件包括隐藏文件
ls pycharm* 查看所有以pycharm开头的文件
ll #等于ls -al
- ----------
touch shit 创建空白文件
mkdir shit 创建目录
#一次性创建 text/1/2/3/4
mkdir -p text/1/2/3/4
rmdir:删除一个空的目录
rm -r fuck 递归删除文件夹
rm -rf ~/.Pycharm/ ~/Download/pycharm-/ #递归强制删除多个文件夹
sudo rm -rf fuck 使用管理员权限强制递归删除文件夹
- ----------
echo "It is a test" > myfile 输出字符到文件
echo $name #输出变量name的值
cat myfile 查看myfile
cat -n myfile #带行号查看myfile
cat -b myfile #带非空行号查看myfile
more xxx #就地查看xxx文件
file myfile #查看文件信息
gedit myfile
- ----------
cp myfile mynewfile 拷贝文件
mv myfile shit/ 移动文件到文件夹下
mv mynewfile shit/yournewfile 移动并重命名
mv myfile yourfile 重命名
- ----------
pwd:显示目前目录的绝对路径
man cp 查看某命令的使用文档
- ----------
chown newowner myfile #修改文件的owner
chgrp newgroup myfile #修改文件的所属组
chmod 777 myfile #修改文件的权限为所有人可读可写可执行
chmod o+x myfile #为其他人增加可执行权限(a,u,g,o)
chomd g=rw myfile #修改用户组的权限为读写
- ----------
grep "fuck" myfile #在文件中查找关键字
find / -name myfile 全盘检索文件
ln -s ./h /bin/h #建立软链接快捷方式
##### 7、压缩
```shell
tar -cvf /home/abc.tar /home/abc 只打包,不压缩
tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩
- ----------
tar -xvf abc.tar 解压普通tar包
tar -zxvf abc.tar.gz 解压gz压缩包
tar -jxvf abc.tar.bz2 解压bz2压缩包
- ----------
zip xxx.zip ./* 压缩
unzip xxx.zip #解压zip压缩包
- ----------
gzip hello.c #打包
gzip -d hello.gz #解包
8、文件类型
\- #一般文件
d #文件夹
l #链接文件(快捷方式)
b #块文件
c #字符文件
s #socket
p #管道文件
9、磁盘管理
df #查看磁盘使用情况(disk free)
du #查看目录使用详情(directory usage)
du | more #分页查看目录使用详情
du -sh #简介可读地查看目录使用情况
#查看/etc所占的磁盘空间
du -sh /etc
fdisk -l #识别Linux下磁盘数据
fdisk /dev/sdb #对设备进行分区(后续步骤通过查看命令帮助逐步完成)
mkfs -t ext4 /dev/sdb1 #在设备分区上建立文件系统(此时的sdb1是一个块文件,
还不能作为文件夹使用)
mount -t ext4 /dev/sdb1 /mnt/mydisk #挂载磁盘设备(将块文件映射为文件夹)
vi /etc/fstab #编辑文件系统注册表(将挂载设备注册到系统,才能永久生效)
umount /mnt/mydisk #卸载磁盘设备
10、系统管理
su uname #切换用户
exit #退出当前会话
sudo 命令 #super user do
$PATH #当前环境变量
export PATH=$PATH:/home/ldc/Desktop/ #追加环境变量
#----------
shutdown -h 21:00 #定时关机
halt #完成当前任务并关机
poweroff #关机
reboot #重启
#----------
ps -ef #完整打印所有进程快照
ps -ef | grep nginx #查看服务是否运行
kill -9 26528 #强制杀死进程
top #显示所有系统任务(任务管理器)
free #查看内存占用
uname -a #打印操作系统信息
uptime -p #查看系统运行了多久
cal/date/ #查看日历日期
time #命令执行时长
11、服务管理
系统运行级别
系统运行级别(单多网留图)
0=停机模式
1=单用户安全模式
2=多用户安全模式
3=多用户网络模式
4=系统保留模式
5=图形化界面模式
6=重启模式
runlevel #查看当前运行级别
sudo init 6 #进入指定运行级别
程序后台运行
nohup python machine.py >> machineLog.out &
nohup后台执行脚本并把输出都指定文件.
12、systemctl 服务管理
systemctl status xxx #查看服务状态
systemctl start xxx #启动服务
systemctl stop xxx #停止服务
systemctl restart xxx #重启服务
systemctl is-enabled xxx #查看是否开机启动
systemctl enable xxx #设置服务开机自启
systemctl disable xxx #禁止服务开机自启
13、用户和权限管理
登录状态、查看日志、权限管理、用户管理
last 查看用户近期登陆情况
last -2 最近登陆的两个用户
last -2 root 查看root用户最近两次登陆情况
chmod +x ./hello.sh #为文件增加执行权限
----------
sudo useradd uname #添加用户(home为根目录)
sudo useradd -m uname #添加用户并将自动添加home目录
sudo useradd -g xxx uname #添加用户到用户组xxx
sudo useradd -u 0 -o -g root -p123456 uname #创建id为0用户组为root密码
为123456的(超级)用户
sudo passwd #修改密码
sudo passwd uname #添加密码
su uname #切换用户
sudo usermod -g xxx uname #修改用户所属的用户组
sudo userdel -r uname #删除用户及其home目录
--------
groupadd、groupmod、groupdel #组的添加修改和删除
id #显示用户及其群组信息
groups #查看当前用户所加入的组
who #查看所有当前已登录的用户
whoami #显示当前用户名称
/etc/passwd文件说明:
是用户管理工作涉及的最重要的一个文件
内容包含7个字段,例如 him:x:200:50:Sam san:/usr/sam:/bin/sh
含义分别为 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
14、网络管理
网络管理命令
ifconfig // 查看网卡状态
ping 192.168.59.129 // 检查网络是否连通
// 下载redis
traceroute -m 100 baidu.com 追踪路由信息,最大100跳
netstat -at 列出所有TCP端口
netstat -r 显示路由表
netstat -i 显示接口列表
netstat -tpnl 查看已连接的TCP端口和程序名
netstat -anp | grep 3306 -c 查看MySQL的连接数
- ###### 在Ubuntu上开启SSH服务
```shell
1、sudo apt-get update 更新源列表
2、sudo apt-get install openssh-server 安装openssh-server
3、sudo ps -ef | grep ssh 查看SSH服务是否启动
4、sudo service ssh start 如果没有启动则启动SSH服务
5、ssh [email protected] 访问远程主机
6、exit 退出远程访问
远程登录
假设远程主机为:[email protected]
sudo apt-get install openssh-server 安装openssh-server
sudo ps -ef | grep ssh 查看SSH服务是否启动
sudo service ssh start 如果没有启动则启动SSH服务
ssh [email protected] 访问远程主机
exit 退出远程访问
scp -r [email protected]:/abc /home/wife/Desktop/
scp -r /abc [email protected]:/home/sname/Desktop/
ssh-keygen -t rsa 生成ssh秘钥对
#上传公钥给远程主机
scp ~/.ssh/id_rsa.pub [email protected]:/home/sname/.ssh/
ssh [email protected] ssh登录远程主机
#让远程持有自己的公钥(对方不必添加公钥到authorized_keys)
ssh-copy-id [email protected] cat Desktop/id_rsa.pub >>
~/.ssh/authorized_keys
##### 15、vim使用
- 模式与切换
命令模式 Command
插入模式(编辑模式)Edit
底行模式 Ex
\----------
```shell
Command=>Edit:i=前插入;a=后插入;o=换行插入
Edit=>Command:ESC
Command=>Ex:冒号
Ex=>Command:Enter
Ex与Edit间无法互切,必须以Command做跳板
底行命令
:q! 不保存强制离开
wq 保存退出(x)
w filename #另存为
set nu #设置行号
set nonu #设置无行号
----------
%s/old/new/g #执行全文替换
%s/old/new/gc #全文逐一待确认地进行替换
n1,n2s/old/new/g #执行局部替换
命令模式
ctrl +f / b #向前/后翻页
0 / $ #行首/行尾
1G #文件开头
G #文件末尾
78G #移动到第78行开头
5+ 下移5行
6- 上移6行
----------
dd #删除整行
5dd #向下删除5行
x #删除当前字符
----------
yy #复制当前行
5yy #向下复制5行
p #粘贴
----------
u #恢复上一步操作
/keywords #向下查找关键字
?keywords #向上查找关键字
n/N #向下/上查看关键字
o #插入
d #插入前删除内容
16、其它命令
ls -i /usr/bin/python //查看文件的inode
ln /usr/bin/python ./phln // 创建硬链接(共享文件入口)(硬链接不能跨磁盘)
source ~/.bashrc // 使修改后的bashrc生效
转载自:https://blog.csdn.net/u010986776/article/details/79841990