天天看點

Linux CheatsheetLinux筆記

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 [email protected]:/root/anaconda/anaconda3/lib/python3.6/site-packages/qqbot/plugins/sample.py

下載下傳

scp [email protected]:/root/anaconda/anaconda3/lib/python3.6/site-packages/qqbot/plugins/sample.py /home/luo3300612/Desktop/sample.py

伺服器連接配接

ssh 使用者名@ip

ssh [email protected]

字型

擷取字型檔案

網上下載下傳,或者從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 [email protected]”确認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
           

檢視檔案目錄

端口轉發

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

du

顯示檔案大小

du -hl --max-depth=1 # 隻顯示一層
           

組合拳

xargs -i 可以用 {}代替參數位置

xargs -t 輸出執行的指令

vim

vim file1 file2
           

可以用:n切換,且可以在兩個檔案中複制粘貼

server

檢視最近失敗登入記錄

sudo lastb -i
           

檢視最近登入記錄

last