Ubuntu 命令积累

一、解压 zip

zip文件,在Ubuntu下默认的编码是UTF-8,而Windows下默认的编码是GBK,解决方案是: 解压时指定字符集,可以是,CP936,GBK,GB18030

$ unzip -O GBK xxx.zip 

三、vim 编辑器 显示行号

#临时显示:进入编辑某一个文件,然后键入:
: set number     或者   :set nu

#永久性显示

$ vim /etc/vim/vimrc
#在最后一行添加:
set number   或   set nu

四、ubuntu 安装 ftp 服务----vsftpd

$ sudo apt-get install vsftpd
$ ps -e | grep ftp    #查看vsftpd是否在运行
 
##3721 ?        00:00:00 vsftpd      说明vsftpd 已在运行

##修改 /etc/vsftp.conf
$ sudo vim /etc/vsftp.conf
vsftp.conf 部分内容

** anonymous_enable = NO ** 禁止无密码登录
write_enable=YES 此时才可以通过 ftp软件向服务器传文件

## 重启vsftpd 服务
$ sudo service vsftpd stop
$ sudo service vsftpd start

此时便可以通过ftp工具进行文件传输了。

五、scp 文件传输

***使用 scp 的前提是目标主机要安装 openssh-server ***

## 1、向服务器上传文件

$ scp /usr/local/mongodb-linux-x86_64-ubuntu1404-3.4.1.tgz administrator@192.168.210.16:/usr/local

##  此时会报错:scp: /usr/local/mongodb-linux-x86_64-ubuntu1404-3.4.1.tgz: Permission denied

##意思是说 你用administrator用户来传输文件,但是 目标主机的 /usr/local 没有给administrator用户开权限。
## 我们可以先传到 administrator的home目录:~

$ scp /usr/local/mongodb-linux-x86_64-ubuntu1404-3.4.1.tgz administrator@192.168.210.16:~

## 然后在移动到目标路径

## 2、从服务器下载文件

$ scp root@123.123.123.123:/root/aa.txt  /root/download   ## 前面是服务器地址以及需要下载的文件所在的路径,后面的是本地的下载目录

六、可视化 设置是否开机自启

我们可以使用 sysv-rc-conf 来可视化管理开机启动项

$ sudo apt-get install sysv-rc-conf
$ sudo sysv-rc-conf

有 'X'的表示是开机自启的,使光标移动到相应的位置,按下 空格键,即可进行相应设置。

可视化--开机自启

七、文件权限

ls

-l中显示的内容如下:

-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc

  • 10个字符确定不同用户能对文件干什么

  • 第一个字符代表文件(-)、目录(d),链接(l)

  • 其余字符每3个一组(rwx),读(r)、写(w)、执行(x)

  • 第一组rwx:文件所有者的权限是读、写和执行

  • 第二组rw-:与文件所有者同一组的用户的权限是读、写但不能执行

  • 第三组r--:不与文件所有者同组的其他用户的权限是读不能写和执行

也可用数字表示为:r=4,w=2,x=1 因此rwx=4+2+1=7

  • 1 表示连接的文件数

  • root 表示用户

  • root表示用户所在的组

  • 1213 表示文件大小(字节)

  • Feb 2 09:39 表示最后修改日期

  • abc 表示文件名

改变权限的命令

chmod 改变文件或目录的权限

chmod 755 abc:赋予abc权限rwxr-xr-x

chmod u=rwx,g=rx,o=rx abc:同上u=用户权限,g=组权限,o=不同组其他用户权限

chmod u-x,g+w abc:给abc去除用户执行的权限,增加组写的权限

chmod a+r abc:给所有用户添加读的权限

八、文件特殊权限 s和t

[root@localhost ~]# ls -ld /usr/bin/passwd  /tmp
drwxrwxrwt 4 root root  4096 Jun  2 17:33 /tmp
-rwsr-xr-x 1 root root 22984 Jan  7  2007 /usr/bin/passwd

这个s权限,是为了让一般使用者临时具有该文件所属主/组的执行权限。

比如/usr/bin/passwd在执行它的时候需要去修改/etc/passwd和/etc/shadow等文件,这些文件除了root外,其他用户都没有写权限,但是又为了能让普通用户修改自己的密码,只能时临时让他们具有root的权限。所以这个s权限就是用来完成这个特殊任务的。

s权限只能应用在二进制的可执行文件上。

如果你不想让普通用户修改自己的密码,只需要

[root@localhost ~]# chmod u-s /usr/bin/passwd  或者
[root@localhost ~]# chmod 0755 /usr/bin/passwd

0755最前面的0表示不使用任何特殊权限,该位上的数字可以是0,1(--t),2(-s-),3(-st),4(s--),5(s-t),6(ss-),7(sst)

t权限只针对目录生效,它表示只能让所属主以及root可以删除(重命名/移动)该目录下的文件

[root@localhost ~]# cd /tmp/
[root@localhost tmp]# mkdir test
[root@localhost tmp]# chmod 1777 test
[root@localhost tmp]# ls -ld test
drwxrwxrwt 2 root root 4096 Jun  2 18:10 test
[root@localhost tmp]# su test1
[test1@localhost tmp]$ touch test/1.txt
[test1@localhost tmp]$ ls -l test
total 4
-rw-r--r-- 1 test1 test 0 Jun  2 18:12 1.txt
[test1@localhost tmp]$ exit
[root@localhost tmp]# su www
[www@localhost tmp]$ ls -l test/1.txt
-rwxrwxrwx 1 test1 test 6 Jun  2 18:12 test/1.txt
[www@localhost tmp]$ rm test/1.txt
#rm: cannot remove `test/1.txt': Operation not permitted
#提示不能删除1.txt
[www@localhost tmp]$ exit
[root@localhost tmp]# chmod -t test
#去掉t权限。
[root@localhost tmp]# ls -ld test
drwxrwxrwx 2 root root 4096 Jun  2 18:13 test
[root@localhost tmp]# su www
[www@localhost tmp]$ rm -f test/1.txt
#再次删除,则删除成功。
[www@localhost tmp]$ ls test/1.txt
#ls: test/1.txt: No such file or directory

九、查看文件内容

cat可以在非编辑模式下查看文档内容;
vi/vim进入编辑器查看

$ less test.txt
$ cat test.txt
#进入非编辑模式下查看文档内容,并可以通过  j、k进行上下一行翻页;
# f 和 pgdn 都是向下一屏   pgup 向上一屏

十、粘贴内容(命令行、vim编辑器)

命令行中按下组合键:Ctrl 和 :,会出现当前剪切的内容列表,然后输入你想要粘贴的内容的序号即可。

Vim 中 需要先 输入 i,进入编辑模式,再进行上面的操作

十一、安装 *.deb包

sudo dpkg --install  ****.deb

十二、防火墙开启某一个端口

$ netstat -ntlp   ##查看端口占用情况
$ iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
$ systemctl restart iptables.service   ## 重启防火墙
$ service iptables restart

十三、配置环境变量

Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。

1.系统级
(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户。该文件一般是调用/etc/bash.bashrc文件。
/etc/bash.bashrc:系统级的bashrc文件。
(2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。

注意:
1、/etc/environment 每次更改需要重启系统。source /etc/environment 的话只会在当前窗口起作用。
2、有的系统这个文件里面空的。此时如果你在里面只添加了某一个自定义路径(如:PATH="/root/nodejs/bin"),然后你重启了系统,那么会导致好多命令用不了(报:-bsah commoned not found),是因为系统从该文件中找环境变量时找不到/bin导致的(关键是此时你连vi命令都用不了!)。
解决办法是:在命令行中输入:export PATH=/bin:$PATH。然后你就可以用vi命令了,此时编辑/etc/environment文件,把其他常用的环境变量添加进去(PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/root/nodejs/bin:")。
然后重启系统,就可以了。

2.用户级(这些文件处于家目录下):
(1)~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方

在原有的 PATH=$PATH:$HOME/bin后面加上:/usr/local/nginx/sbin
其中/usr/local/nginx/sbin,是你新增的 nginx的环境变量。
配置完成以后需要退出当前登录重新登录。

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/usr/local/nginx/sbin

export PATH

(2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。
~/.bash_profile or ~./bash_login
~/.pam_environment:用户级的环境变量设置文件

十四、wget 下载 https链接的文件

#可以不需要ssl验证
wget  --no-check-certificate https://www.xxx.com/dir/abc.tgz

十五、查看系统名称是Ubuntu/RedHat/CentOS等

  # lsb_release -a

LSB Version:    :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
Distributor ID:    CentOS
Description:    CentOS release 5.7 (Final)
Release:    5.7
Codename:    Final

十六、cp命令复制多个文件夹到某一目录中

## 将 dir1、dir2、dir3、dir4 复制到 newDir目录中
$ cp -R /root/{dir1,dir2,dir3,dir4} /root/newDir

十七、basename、dirname

1、basename 获取当前所处文件夹的名称
### 例如我当前在:/usr/local/workspace/test01目录下
$ basename $(pwd)
## 输出:test01
2、dirname 获取当前文件夹所在的目录
### 例如我当前在:/usr/local/workspace/test01目录下
$ dirname $(pwd)
## 输出:/usr/local/workspace

十八、0.0.0.0 和 127.0.0.1 的区别

image.png

如上图:端口4873监听在 127.0.0.1上,导致虽然开放了 4873端口,但是浏览器访问不了。
需要监听在 0.0.0.0上。

十九、修改SSH链接有效时间

ssh连接超时问题解决方案:

1.修改server端的etc/ssh/sshd_config

ClientAliveInterval 60 #server每隔60秒发送一次请求给client,然后client响应,从而保持连接

ClientAliveCountMax 3 #server发出请求后,客户端没有响应得次数达到3,就自动断开连接,正常情况下,client不会不响应

2.修改client端的etc/ssh/ssh_config添加以下:(在没有权限改server配置的情形下)

ServerAliveInterval 60 #client每隔60秒发送一次请求给server,然后server响应,从而保持连接

ServerAliveCountMax 3 #client发出请求后,服务器端没有响应得次数达到3,就自动断开连接,正常情况下,server不会不响应

二十、查看文件或文件夹的大小

// 1、默认会递归列出当前目录下左右目录及子目录的文件大小 
$ du -h   
  0B    ./branches
 68K    ./hooks
4.0K    ./info
4.0K    ./logs/refs/heads/feature/sdq
4.0K    ./logs/refs/heads/feature
8.0K    ./logs/refs/heads/wxq/fix
8.0K    ./logs/refs/heads/wxq
4.0K    ./logs/refs/heads/zp
 20K    ./logs/refs/heads
4.0K    ./logs/refs/remotes/origin/bugfix
4.0K    ./logs/refs/remotes/origin/cxd/feature/HFE-33864

// 2、可以指定某个目录
$ du -h logs
4.0K    ./logs/refs/heads/feature
8.0K    ./logs/refs/heads/wxq/fix
8.0K    ./logs/refs/heads/wxq
4.0K    ./logs/refs/heads/zp
 20K    ./logs/refs/heads
4.0K    ./logs/refs/remotes/origin/bugfix
4.0K    ./logs/refs/remotes/origin/cxd/feature/HFE-33864
4.0K    ./logs/refs/remotes/origin/cxd/feature/HFE-3396
14.0K    ./logs/refs/remotes/origin/cxd/feature/HFE-36051
 24K    ./logs/refs/remotes/origin/cxd/feature
 28K    ./logs/refs/remotes/origin/cxd
4.0K    ./logs/refs/remotes/origin/dp/bugfix

// 3、可以不一一列举,只展示总大小
$ du -sh logs
45.0K    logs

二十一、清空命令行历史


# 第一步: 删除 .bash_history 文件
rm -rf ~/.bash_history
 
# 第二步: 清空命令历史记录
history -c
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容