Linux常用命令

日常命令

cd .. // 返回上一级目录
cd - // 返回上一次目录
cd或cd ~ // 返回家目录
cd / // 进入根目录

pwd // 显示当前目录
ls // 显示当前目录文件
ls localrepo/ // 显示指定目录的文件
ll // 查看目录文件的的详细信息
la // 查看全部包括隐藏的目录文件
tree // 查看当前目录文件树
tree mydir // 查看指定目录的文件树
touch hello.py // 创建空文件

mkdir mydir // 创建文件夹
mkdir -p a/b/c // 创建层级目录
mkdir a/{b,c}/{d,e} // 同一级创建多个文件夹

cp hello.py ~/hello2.py // 拷贝文件
cp hello.py -i hello2.py // 拷贝文件,如果有同名文件询问是否覆盖
cp hello.py -f hello2.py // 拷贝文件,如果有同名文件强制覆盖
cp hello.py -n hello2.py // 拷贝文件,如果有同名文件不覆盖

mv hello2.py hellocp.py // 重命名文件
mv hello.py ~/Desktop // 移动文件
rm hellocp.py // 删除文件
rm -rf localrepo/ // 递归删除目录

find ~/Desktop/ -name '*.py' // 在指定目录中查找文件

ln -s /usr/bin/python ./mypylink // 创建可执行程序的软链接
alias rrm='rm -rf' // 给命令起别名,需要root权限
history // 查看命令历史
clear // 清屏
  • 命令速查
man rm // 查看rm命令的手册解释
rm --help // 查看rm命令帮助
info rm // 查看rm命令详细信息
whereis python // 查找可执行程序
which python // 查看当前使用的是哪个目录中的python
  • 更多查找
find ~/ -name '*.py' -exec rm {} \;    查找家目录下所有的py文件并删除,{}与exec结合匹配所有文件
find ~/ -name '*.py' -exec chown wife {} \;        查找家目录下所有py文件并将所有权转让给wife用户
find ~/ -name '*.py' -exec cat {} \;> record.txt   查找文件并将全部内容拼接并写入文件中
find ~/ -name '*.py' -exec cp {} mydir \;      查找文件并拷贝到指定目录

grep 'def.*' a.py   在a.py中查找指定内容
grep 'def.*' a.py b.py c.py 在多个文件中寻找指定内容
grep -v 'def.*' a.py    在a.py中查找指定内容以外的内容
grep -i "HELLO" a.py    在a.py中查找指定内容并忽略大小写
grep -E "[1-9]+" a.py   在a.py中查找正则表达式匹配的内容(匹配1到多个数字)
grep -F "[1-9]+" a.py   在a.py中查找纯文本内容(严格匹配字符串"[1-9]+")
grep -e "def.*" -e "class.*" a.py   在a.py中查找多个内容
grep "text" ./ -r -n    在当前目录下递归查找内容

系统管理

poweroff    关机
reboot  重启
shutdown -h 12:00   定时关机
shutdown -h now     立刻关机
shutdown -c         取消定时关机

top                 显示所有系统任务
free -m             查看内存占用,以M为单位
uname -a            打印操作系统信息
uptime -p           查看系统运行时间
echo $PATH         查看环境变量
export PATH=$PATH:/home/sirouyang/Desktop/ 追加环境变量
lsof | head -n 10   查看进程打开的文件(一切皆文件,数据文件、网络连接、硬件设备)

time lsof       统计命令执行时间
cal/date            查看日历和时间
date +%y-%m-%d-%H-%M-%S 格式化地查看时间

# 0-6:0停机-1单用户安全模式-2多用户安全模式-3多用户网络模式-4系统保留级别-5图形界面-6重启
runlevel        显示当前运行级别
init 6          切换运行级别
  • 软件安装
sudo apt update // 更新软件源
sudo apt install python-pip //安装pip

./configure 源码包中执行配置
make clean  清除一些编译的垃圾
make        执行编译
make install    安装
make uninstall  卸载

文本命令

cat hello.py // 查看文件
gedit hello.py // 使用gedit查看文件
head -n 10 hello.py // 查看前10行
tail -n 10 hello.py // 查看后10行
less hello.py // 一次查看少量内容,PageUp和PageDown键翻页
vim hello.py // 使用vim打开文件

管道与重定向

sort hello.py | uniq -c // 排序后统计次数
sort hello.py | uniq -d // 排序后找出重复的行
cat proc/cpuinfo | grep -c processor // 显示CPU核心数
echo 'newline' > hello.py // 将结果写入文件(覆盖)
echo 'newline' >> hello.py // 将结果追加到文件

压缩和解压

tar -cvf /home/abc.tar /home/abc/*    只打包,不压缩(c=创建压缩包,v=打印信息,f=指定文件名)
tar -zcvf /home/abc.tar.gz /home/abc/*    打包,并用gzip压缩
tar -jcvf /home/abc.tar.bz2 /home/abc/*    打包,并用bzip2压缩

tar -xvf abc.tar 解压普通tar包(x=解压缩)
tar -zxvf abc.tar.gz 解压gz压缩包
tar -jxvf abc.tar.bz2 解压bz2压缩包

zip xxx.zip ./* 压缩
unzip xxx.zip #解压zip压缩包

gzip -rv abc    将abc文件夹下的内容递归压缩打gzip压缩包
gzip -d abc/*   将abc下的所有内容解压缩

磁盘管理

df -h                   查看磁盘使用情况
sudo du -h ~           查看用户目录的磁盘使用情况
du -sh                  当前目录的总体占用情况
du abc.tar.gz abc.tar   查看文件和目录的磁盘占用
dd if=/dev/zero of=temp.txt bs=1K count=1024    备份数据

登录日志

last 查看用户近期登陆情况
last -2 最近登陆的两个用户
last -2 root 查看root用户最近两次登陆情况

id  显示用户及其群组信息
groups  查看当前用户所加入的组
whoami  显示当前用户名称
  • 用户与权限
groups // 查看所属的工作组
whoami // 显示当前用户名称

sudo usradd -m wife // 新建wife用户,-m=自动创建家目录
sudo useradd -d /home/myson -m son //创建son用户,指定其家目录为/home/myson
sudo useradd -g guests -G root,adm -m him //创建him用户,属于group组,其次也属于adm,root组
sudo useradd -G guests,sudo -m -s /bin/bash mywife // 新增一个用户,-m=自动创建家目录,-s指定bash
userdel rose 删除rose 账号
userdel -r rose 删除用户及相关目录下的文件(/etc/passwd, /etc/shadow, /etc/group等)
usermod -s /bin/ksh -d /home/z –g developer him // 修改him用户的shell、家目录、所属组等信息
sudo passwd // 修改自己的密码
sudo passwd mywife // 修改mywife的密码
su - mywife // 切换用户
sudo su // 切换到root用户

sudo groupadd guests // 添加guests组
sudo groupadd -g 101 group1 //添加组group1,识别号为101
groupdel group1 //删除组
groupmod –g 10000 -n group3 group2 //将组group2的标识号改为10000,组名修改为group3
gpasswd -a u1 g1 将u1 加入到 g1 组
gpasswd -d u1 g1 将u1 退出 g1 组
gpasswd -A u1 g1 将g1 组的管理员指派给u1

chmod 421 hello.py // 设置自己、用户组、其他人的权限分别为只读、只写、只执行
chmod a+r,u+wx,g+x,o-wx hello.py // 详细修改全部用户、拥有者、用户组、其他人的权限

/ etc / passwd的文件说明:

  • 是用户管理工作涉及的最重要的一个文件
  • 内容包含7个字段,例如他:x:200:50:Sam san:/ usr / sam:/ bin / sh
  • 含义分别为用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录壳牌

网络管理

ifconfig // 查看网卡状态
ping 192.168.59.129 // 检查网络是否连通
wget "http://download.redis.io/releases/redis-4.0.9.tar.gz" // 下载redis
traceroute -m 100 baidu.com     追踪路由信息,最大100跳

netstat -at     列出所有TCP端口
netstat -r      显示路由表
netstat -i      显示接口列表
netstat -tpnl   查看已连接的TCP端口和程序名
netstat -anp | grep 3306 -c     查看MySQL的连接数
  • 远程登录
sudo apt-get install openssh-server 安装openssh-server
sudo ps -ef | grep ssh 查看SSH服务是否启动
sudo service ssh start 如果没有启动则启动SSH服务
ssh root@127.0.0.1 访问远程主机
exit 退出远程访问

scp -r sirouyang@192.168.158.129:/abc /home/wife/Desktop/       从远程主机拷贝内容到本地
scp -r /abc sirouyang@192.168.158.129:/home/sirouyang/Desktop/  从本地拷贝内容弄到远程主机(对方没有本地的公钥时需要密码认证)

# ssh公钥交换过程:远程主机持有本地的公钥时,ssh以及scp可以免密执行
ssh-keygen -t rsa   生成ssh秘钥对
scp ~/.ssh/id_rsa.pub sirouyang@192.168.158.129:/home/sirouyang/.ssh/  上传公钥给远程主机
ssh sirouyang@192.168.158.129   ssh登录远程主机
cat Desktop/id_rsa.pub >> ~/.ssh/authorized_keys   操作远程主机添加公钥认证(今后远程对本地ssh免密)

ssh-copy-id sirouyang@192.168.158.128   让远程持有自己的公钥(对方不必添加公钥到authorized_keys)

进程管理

ps -ef // 查看所有进程
ps -ef | grep redis // 查找redis进程
kill -9 77157   // 强行杀死指定pid的进程
kill -15 77157  // 终止指定进程
  • 服务管理
#chkconfig服务管理
apt-get install sysv-rc-conf    安装chkconfig服务
cp /usr/sbin/sysv-rc-conf /usr/sbin/chkconfig   重命名一下可执行程序
chkconfig --list            查看所有服务的开机启动状态
chkconfig --list mysqld     查看mysql的开机启动状态
chkconfig mysqld on         设置mysql开机启动
chkconfig mysqld off        禁止mysql开机启动
sudo apt install firewalld  安装firewalld
firewall-cmd --state        查看防火墙状态

#原生的service服务管理
service mysql start         启动mysql
service mysql stop          停止mysql
service mysql restart       重启mysql
/etc/init.d/mysql start     启动mysql
/etc/init.d/mysql stop      停止mysql
/etc/init.d/mysql restart   重启mysql

#systemctl服务管理(推荐方式)
systemctl status firewalld      查看服务状态
systemctl start firewalld       启动服务
systemctl stop firewalld        停止服务
systemctl restart firewalld     重启服务
systemctl is-enabled firewalld  查看是否开机启动
systemctl enable firewalld      设置服务开机自启
systemctl disable firewalld     禁止服务开机自启
  • 其它命令
ls -i /usr/bin/python //查看文件的inode
ln /usr/bin/python ./phln // 创建硬链接(共享文件入口)(硬链接不能跨磁盘)
source ~/.bashrc // 使修改后的bashrc生效

一键安装Ubuntu的常用库

sudo apt install man gcc make sudo lsof ssh openssl tree vim dnsutils iputils‑ping net‑
tools psmisc sysstat curl telnet traceroute wget libbz2‑dev libpcre3 libpcre3‑dev
libreadline‑dev libsqlite3‑dev libssl‑dev zlib1g‑dev git mysql‑server mysql‑client zip
p7zip


版权声明:本文为博主原创文章,未经博主允许不得转载。https://my.csdn.net/pangzhaowen

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值