转战Linux Day1

Linux 小白一枚,其实我会的命令也就感觉不超过25条的样子,但是还是挺有自信的,从今天起我要从windows转战为linux啦。
作为一个处女座的有着深深的强迫症…
所以进入Linux我的首要任务就是搭建好基础环境,能够像windows一样工作。

一,快捷键,语言设置

感觉自己对LIinux还非常非常的不熟,看着英文还是挺费力的,还是先用用中文吧。
在系统设置里面设置Langue,汉语
设备->Keyboard,打开终端的命令是gnome-terminal
复制过去设置自己的快捷键crtl+shift+t
截图并复制到粘贴板
Crtl+Print
查看帮助的命令记得有三种来着,我一般都用command --h也可以是command --help还可以用man command还有whatis command这个信息量太少了,基本不用
ctrl+c:相当于将任务暂停,相当于挂起一个进程。fg重新启动前台被中断的任务,bg把中断的任务放在后台执行。
crtl+z,是强制中断程序的执行,进程被终止。

二,输入法问题

还是喜欢linux下的搜狗输入法,因为我觉得这是最强大的输入法了。
之前装了,忘了写笔记,只记得点。没事,不会百度总能找到答案。
大概步骤:
1,卸载系统自带的ibus
2,安装ficitx(小企鹅输入法)
这个fcitx真的很强大的感觉。装的时候自己可以多选几种输入法,其实装了这个基本上也就够用了。但是还是没有搜狗输入法好用,用用其他的输入法才真的感觉到搜狗输入法的提示功能真是太强大了!
3,安装搜狗输入法Linux版本。https://pinyin.sogou.com/linux/
这个教程是直接安装的搜狗输入法,没有依赖fcitx,是见过的最简单的方式。

之前是在CentOS下装的,这下换成ubuntu了,重新装一遍。
卸载ibus:
sudo apt-get remove ibus
清除ibus配置:
sudo apt-get purge ibus
然后安装fcitx和搜狗输入法
(找了好久才找到一篇能用的)
https://blog.csdn.net/fx_yzjy101/article/details/80243710
如果缺少依赖可以先
sudo apt remove sogoupinyin
然后再安装相应的依赖
sudo apt install libopencc2 fcitx-libs libqtwebkit4 libfcitx-qt0
然后再重新安装
sudo dpkg -i sogoupinyin_2.2.0.0108_amd64.deb

三,搜索查找相关命令

history -c清空历史命令
history 100显示最近使用的100条命令
history命令详解
http://man.linuxde.net/history
locate
感觉这个命令简直就是超级强大
locate Sogou
就可以查找出所有和Sogou相关的文件及文件夹啦
find
find -name
find -type 按类型查找
grep搜索文本文件
http://blog.sina.com.cn/s/blog_6adf33e10100nbnj.html

四,软件安装卸载

yum源配置
这个讲的很细,里面有yum的三种配置方法
https://www.cnblogs.com/yangp/p/8506264.html
yum makecache
就是把服务器上的包信息下载到本地电脑上缓存起来
这样在使用yum search xxx
的时候使用yum -C search xxx
就可以在不用联网的情况下检索到软件包信息,比不加-C的速度要快很多
yum,tar,rpm
https://www.cnblogs.com/tureno/articles/6146433.html
tar
linux下tar命令解压到指定的目录 :
tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql
#tar zxvf /bbs.tar.zip -C /zzz/bbs
//把根目录下的bbs.tar.zip解压到/zzz/bbs下,前提要保证存在/zzz/bbs这个目录
这个和cp命令有点不同,cp命令如果不存在这个目录就会自动创建这个目录!
附:用tar命令打包
例:将当前目录下的zzz文件打包到根目录下并命名为zzz.tar.gz
#tar zcvf /zzz.tar.gz ./zzz

tar用法详解
https://jingyan.baidu.com/article/3a2f7c2e63f75f26afd611dd.html
语法:tar [主选项+辅选项] 文件或者目录

主选项c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。

x 从档案文件中释放文件。相当于拆包。

t 列出档案文件的内容,查看已经备份了哪些文件。

辅助选项:

-z :是否同时具有 gzip 的属性,亦即是否需要用 gzip 压缩或解压 .一般格式为xx.tar.gz或xx. tgz

-j :是否同时具有 bzip2 的属性,亦即是否需要用 bzip2 压缩或解压.一般格式为xx.tar.bz2  

-v :压缩的过程中显示文件

-f :使用档名

-p :使用原文件的原来属性(属性不会依据使用者而变)

--exclude FILE:在压缩的过程中,不要将 FILE 打包!

用法一:将整个 /etc 目录下的文件全部打包

# tar -cvf  /root/temp/etc.tar /etc    仅打包,不压缩!

# tar -zcvf /root/temp/etc.tar.gz /etc  打包后,以 gzip 压缩

# tar -jcvf /root/temp/etc.tar.bz2 /etc 打包后,以 bzip2 压缩

# 在参数 f 之后的文件档名是自己取的,习惯上用 .tar 来作为辨识。

# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file 

# 如果加 j 参数,则以 .tar.bz2 来作为文件名
Linux系统tar命令用法详解
Linux系统tar命令用法详解

用法二:查阅上述 /root/temp/etc.tar.gz 文件内有哪些文件

# tar -ztvf /root/temp/etc.tar.gz
Linux系统tar命令用法详解

用法三:将/root/temp/etc.tar.gz 文件解压缩在 /root 底下

# cd /root

# tar -zxvf /tmp/etc.tar.gz
Linux系统tar命令用法详解

用法四:在 /tmp 底下,只将 /tmp/etc.tar.gz 内的 etc/passwd 解开

# cd /tmp

# tar -zxvf /root/temp/etc.tar.gz etc/passwd
Linux系统tar命令用法详解

用法五:备份 /home, /etc ,但不要 /home/dmtsai

# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
Linux系统tar命令用法详解
END

软链接
ln -s /usr/local/mysql/mysql-5.7.22-linux-glibc2.12-x86_64/bin/ /usr/bin
软链接和硬链接详解
https://blog.csdn.net/shaobingj126/article/details/6950892
wget命令详解
https://blog.csdn.net/abc1014392016/article/details/78649361

ZIP
https://www.cnblogs.com/jasonlam/p/7928072.html
Rar
先下载yum install rar(ubuntu中apt install rar)
https://blog.csdn.net/appleml/article/details/52817544
解压:rar x Fonts.rar

五,进程管理方面**

感觉动不动就卡的不能动,只能使用键盘和命令。所以有个打开终端的快捷键真的很重要。(还可以按win键切换窗口,但是当时自己也不知道)
当时还没设置快捷键,连终端都没发打开。
按crtl+f2就到了命令行界面,可以用root登录。
reboot重启与init 6相同
init 5回到之前的图形化界面
1.查进程
ps命令查找与进程相关的PID号:
常用的几个参数:
ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps -A 显示所有程序。
ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e 此参数的效果和指定"A"参数相同。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
ps u 以用户为主的格式来显示程序状况。
ps x 显示所有程序,不以终端机来区分。

最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。
ps aux | grep program_filter_word,ps -ef |grep tomcat

ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。

查看当前系统java相关的进程
jps

实时显示系统中的进程占用资源情况
top

op - 19:32:15 up  5:42,  3 users,  load average: 0.84, 1.13, 1.07
Tasks: 258 total,   1 running, 255 sleeping,   0 stopped,   2 zombie
%Cpu(s):  4.2 us,  0.9 sy,  0.0 ni, 94.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3778516 total,   942760 free,  1588312 used,  1247444 buff/cache
KiB Swap:  4063228 total,  4057076 free,     6152 used.  1530292 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
 3569 root      20   0 3030396 489636 145332 S   9.0 13.0  34:12.51 Web Content 
 3512 root      20   0 2760892 386412 149868 S   5.6 10.2  25:21.72 firefox     
 2501 root      20   0 3941848 216048  52772 S   3.7  5.7   7:40.61 gnome-shell 

zombie代表僵尸进程,可以看到这儿有两个僵尸进程
查看僵尸进程
可以利用grep来搜索,状态为Z或z的就是僵尸进程
-e 用 PATTERN 来进行匹配操作

[root@localhost ~]# ps -A -o stat,ppid,pid,cmd |grep -e '^[Zz]'
Z     3098  3217 [which] <defunct>
Z     3098  3233 [which] <defunct>

快速杀死所有僵尸进程

ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9

为什么要杀死僵尸进程呢?
进程肯定是要占用系统资源的啊
为什么会产生僵尸进程?
子进程如果先于父进程退出而父进程又没有调用wait或者waitpid那么先退出的子进程就会成为僵尸进程
如何防止僵尸进程呢?
这个涉及到网络编程了,这个之前大概了解一点,相当年的网络编程从来没上过,考试用了七八个小时的时间把大半本书总结了一遍,感觉自己那一学期复(学)习简直就是神速啊!一学期不去上的课,考前半天就能搞定了。不过可惜了,当时记得再清楚都是考完试就忘了。
咳咳,还没装C相关的库,没法编译出来
https://www.cnblogs.com/yuxingfirst/p/3165407.html
2.杀进程
使用kill命令结束进程:kill xxx
常用:kill -9 324
Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME

六,权限管理

acl,SELinux(内核级防火墙),特殊
https://blog.csdn.net/tallercc/article/details/76724277
[root@localhost ~]# touch file.txt
[root@localhost ~]# ls -l file.txt
-rw-r–r--. 1 root root 0 10月 4 21:03 file.txt
可以看到新建的文件默认权限为664
目录的默认权限是775,文件的默认权限是644
第一列-表示这是一个文件,d表示目录
1代表硬链接数
之后三个依次是ownr,group,文件的字节数
其它的就不说了
chown 使用示例,其实一看帮助信息就知道了
示例:
chown root /u 将 /u 的属主更改为"root"。
chown root:staff /u 和上面类似,但同时也将其属组更改为"staff"。
chown -hR root /u 将 /u 及其子目录下所有文件的属主更改为"root"。
更改用户组chgrp

su与 su -的区别?

su切换用户却不切换工作环境
su - 切换用户同时切换工作环境

[root@localhost ~]# su - flower
上一次登录:日 10月 28 16:32:50 CST 2018pts/0 上
[flower@localhost ~]$ pwd
/home/flower
[flower@localhost ~]$ su - root
密码:
上一次登录:日 10月 28 16:33:07 CST 2018pts/0 上
[root@localhost ~]# su flower
[flower@localhost root]$ pwd
/root
[flower@localhost root]$ 

这是关于sudo的,https://www.jianshu.com/p/cd5a21ff581d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值