Linux Cheatsheet

巴帅
2023-12-01

Linux笔记

tar

tar -zcf 1.tar.gz dir/ # 打包压缩 
tar -zxvf 1.tar.gz / # 解压
# 排除某个文件夹
tar zcvf fd.tar.gz * --exclude=file1 --exclude=dir1

注意:

1、–exclude=file1 而不是 --exclude file1

2、要排除一个目录是–exclude=dir1而不是–exclude=dir1/

也可以在父目录打包

tar zcvf fd.tar.gz pardir --exclude=pardir/file1 --exclude=pardir/dir1

使用命令替换文本中的字符串

sed -i 's/original/new/g' file.txt

Explanation:

  • sed = Stream EDitor
  • -i = in-place (i.e. save back to the original file)
  • The command string:
    • s = the substitute command
    • original = a regular expression describing the word to replace (or just the word itself)
    • new = the text to replace it with
    • g = global (i.e. replace all and not just the first occurrence)
  • file.txt = the file name

更改.bashrc .zshrc后需要

source .bashrc # 或 source .zshrc

且这个命令只对使用这个命令的shell和之后打开的shell有效

sudo命令不输入密码

echo "PASSWORD" | sudo -S hwclock --systohc

Intellij IDEA权限不够

sudo chmod -R 777 目录名

命令

pip install 包名
su 可以进入root

进入MySQL mysql -u root -p
fiddler cd ~/f(tab) mono Fiddler.exe

wireshark

wireshark出现
The capture session could not be initiated on interface ‘wlp2s0’ (You don’t have permission to capture on that device).
使用
setcap ‘CAP_NET_RAW+eip CAP_NET_ADMIN+eip’ /usr/bin/dumpcap //在终端执行后,即可
普通用户user可以正常使用。
要用root

tar

tar xaf 可以用来解压tar.xz的文件

zip 乱码

unzip -O cp936

zip解压出错

使用jar解压

apt-get install fastjar
jar xvf asd.zip

iso 安装

1、在/mnt目录下,创建相应的iso文件夹,例如cd1,cd2。

2、然后,用命令:mount -o loop /home/kinglu/Matlab/matlab1.iso(iso文件路径名) /mnt/cd1

3、此时,在/mnt/cd1目录下,就有相应的安装文件了,接下来安装就可以了。

文件传输

上传
scp /home/luo3300612/Desktop/sample.py root@118.89.62.139:/root/anaconda/anaconda3/lib/python3.6/site-packages/qqbot/plugins/sample.py

下载
scp root@118.89.62.139:/root/anaconda/anaconda3/lib/python3.6/site-packages/qqbot/plugins/sample.py /home/luo3300612/Desktop/sample.py

服务器连接

ssh 用户名@ip
ssh root@118.89.62.139

字体

获取字体文件

网上下载,或者从Windows的C:/Windows/Fonts目录下获取字体文件.ttf。我这里是consolo字体。

建立新的字体目录

在Linux的/usr/share/fonts目录下新建一个自己的文件夹。我新建的文件夹是my_fonts

mkdir my_fonts
拷贝字体

将获取到的字体文件拷贝到my_fonts目录下。

加载字体

在my_fonts目录下依次运行以下三个命令,加载字体:

mkfontscale
mkfontdir
fc -cache -fv

http请求

curl “https://www.taobao.com”
头信息 后加 -I

一、
在linux下安装rpm包时经常会遇到下面这个问题:
error: Failed dependencies:

省略号表示安装此rpm缺少的包。
遇到此问题时可以在安装rpm包命令的后面加两个参数,如:
rpm -ivh libstdc++5.0-3.3.3-62745cl.i386.rpm
改成:
rpm -ivh libstdc++5.0-3.3.3-62745cl.i386.rpm --nodeps --force

加上那两个参数的意义就在于,
安装时不再分析包之间的依赖关系而直接安装,

也就不会再提示error: Failed dependencies:这样的错误了。

二、安装rpm包时经常会遇到

warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID*****
这是由于yum安装了旧版本的GPG keys造成的,解决办法就是

rpm --import /etc/pki/rpm-gpg/RPM*

python2 安装

http://blog.csdn.net/tiantiandjava/article/details/17242345

ln命令

http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/10/05/2199534.html

sudo apt-get update 更新软件列表
sudo apt-get upgrade 升级本地软件

mysql 安装

Deepin/Ubuntu上安装MySQL。Deepin/Ubuntu上安装MySQL非常简单只需要几条命令就可以完成。

sudo apt-get install mysql-server

apt-get isntall mysql-client

sudo apt-get install libmysqlclient-dev

安装过程中会提示设置密码什么的,注意设置了不要忘了,安装完成之后可以使用如下命令来检查是否安装成功:

sudo netstat -tap | grep mysql

通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。

登陆mysql数据库可以通过如下命令:

mysql -u root -p

-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql

配置my.cnf文件
可能有如下几种方法(最关键的是要重启)
1.修改/etc/mysql/my.cnf文件
加上
[client]
default-character-set=utf8
[mysqld]
default-storage-engine=INNODB
character-set-server=utf8
collation-server=utf8_general_ci
2.复制/etc/mysql/mysql.conf.d/mysqlid.cnf到
/etc/my.cnf
加上1中的内容
或者复制到~/.my.cnf
加上1中的内容

github提示Permission denied (publickey)

极大多数情况是由于github账号没有设置ssh公钥信息所致。 前往 GitHub 网站的"account settings"依次点击"Setting -> SSH Keys"->“New SSH key” Title处填写“id_rsa.pub”或其他任意信息。 key处原样拷贝下面命令的打印 ~/.ssh/id_rsa.pub 文件的内容: cat ~/.ssh/id_rsa.pub如没有则按下述方法生成: ssh-keygen -t rsa 一路回车… 最后,输入“ssh -T git@github.com”确认OK即可。再尝试输出就应该有了cat ~/.ssh/id_rsa.pub

作者:ElonChan
链接:https://www.zhihu.com/question/21402411/answer/95945718
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Mysql

linux下

一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):
1、导出数据和表结构:
mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql
敲回车后会提示输入密码

2、只导出表结构
mysqldump -u用户名 -p密码 -d 数据库名 > 数据库名.sql
#/usr/local/mysql/bin/ mysqldump -uroot -p -d abc > abc.sql

注:/usr/local/mysql/bin/ —> mysql的data目录

二、导入数据库
1、首先建空数据库
mysql>create database abc;

2、导入数据库
方法一:
(1)选择数据库
mysql>use abc;
(2)设置数据库编码
mysql>set names utf8;
(3)导入数据(注意sql文件的路径)
mysql>source /home/abc/abc.sql;
方法二:
mysql -u用户名 -p密码 数据库名 < 数据库名.sql
#mysql -uabc_f -p abc < abc.sql

mysql
显示数据库行数
use information_schema;
select table_name,table_rows from tables
where TABLE_SCHEMA = ‘dev’
order by table_rows desc;

复制一个库中的表到另一个库中
create talbe tb2 select * from db1.tb1

zsh安装:

1.按照网上步骤安装
2.在网上位置更改主题
3.并export路径
4.配置plugins

视图实现

数据库views

12
13结构
create view user_person_view as (select u.id,s.name,u.permission,u.account,u.password,s.number from user as u inner join student as s on u.id = s.id) union all (select uu.id,ss.name,uu.permission,uu.account,uu.password,ss.number from
user as uu inner join teacher as ss on uu.id = ss.id);

因为有的mysql不支持子查询所以
create view user_group_id_view as select u.id,u.name,u.number,u.account,u.password,ug.group_id as group_id,ug.user_cls from user_person_view as u inner join user_group as ug on ug.user_id = u.id;

create view user_group_view as select ret.id,ret.name,ret.number,ret.group_id,g.name as group_name,ret.user_cls,ret.account,ret.password from user_group_id_view as ret inner join group as g on g.id = ret.group_id;

create view user_sign_id_view as select u.id,u.name,u.number,u.account,u.password,ug.sign_id as sign_id,ug.user_cls,ug.is_sign from user_person_view as u inner join user_sign as ug on ug.user_id = u.id;

create view user_sign_view as select ret.id,ret.name,ret.number,ret.sign_id,g.name as sign_name,g.cls as sign_cls,ret.user_cls,ret.is_sign,ret.account,ret.password from user_sign_id_view as ret inner join sign as g on g.id = ret.sign_id;

create view user_course_id_view as select u.id,u.name,u.number,u.account,u.password,ug.course_id as course_id,ug.user_cls from user_person_view as u inner join user_course as ug on ug.user_id = u.id;

create view user_course_view as select ret.id,ret.name,ret.number,ret.course_id,g.name as course_name,ret.user_cls,g.week,g.section,g.location,ret.account,ret.password from user_course_id_view as ret inner join course as g on g.id = ret.course_id;

create view group_activity_id_view as select u.id,u.name as group_name,u.ops as group_ops,u.cls as group_cls,ug.activity_id as activity_id,ug.is_active from group as u inner join group_activity as ug on ug.group_id = u.id;

create view group_activity_view as select ret.id as group_id,ret.group_name,g.id as activity_id,g.name as activity_name,ret.is_active from group_activity_id_view as ret inner join activity as g on g.id = ret.activity_id;

hosts
52.84.246.90    d3c33hcgiwev3.cloudfront.net
52.84.246.252    d3c33hcgiwev3.cloudfront.net
52.84.246.144    d3c33hcgiwev3.cloudfront.net
52.84.246.72     d3c33hcgiwev3.cloudfront.net
52.84.246.106    d3c33hcgiwev3.cloudfront.net
52.84.246.135    d3c33hcgiwev3.cloudfront.net
52.84.246.114    d3c33hcgiwev3.cloudfront.net
52.84.246.90     d3c33hcgiwev3.cloudfront.net
52.84.246.227    d3c33hcgiwev3.cloudfront.net

git

只提交目录中的某个文件

**/test/*
!**/test/a.py

查看文件目录

tree -d # -d 只列出文件夹

端口转发

ssh -L ::

adduser

sudo useradd -m luoyp
sudo passwd luoyp
sudo usermod -s /bin/bash luoyp
sudo vim /etc/sudoers # 增加sudo权限 luoyp   ALL=(ALL:ALL) ALL

kill

批量kill

 pkill -9 -f [search string]

du

显示文件大小

du -hl --max-depth=1 # 只显示一层

组合拳

ps aux --sort -rss | head -50 | awk '{if (NR!=1) {print $2}}' | xargs kill

xargs -i 可以用 {}代替参数位置
xargs -t 输出执行的命令

vim

vim file1 file2

可以用:n切换,且可以在两个文件中复制粘贴

server

查看最近失败登录记录

sudo lastb -i

查看最近登录记录

last
 类似资料:

相关阅读

相关文章

相关问答